MATLAB循环结构:for语句+定积分实例

  1. for语句
  2. 格式:

1 for 循环变量=表达式1:表达式2:表达式3

2 循环体语句

3 end

4

5

6 表达式1:循环变量初值;表达式2:步长;表达式3:循环变量终值。



for 循环变量=矩阵表达式

循环体语句

end

循环变量分别等于矩阵各列元素,然后执行循环语句;

s=0;
a=[12,13,14;15,16,17;18,19,20;21,22,23];
for k=a
  s=s+k;
end

disp(s'); %s'以行输出
结果:39 48 57 66

disp(s)或s;
结果:
39
48
57
66

  1. 一个3位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出100~999之间的全部。
  2. 1 for m=100:999 %步长省略则为1
    2     m1=fix(m/100);     %求m的百位数字;fix:向零方向取整;
    3     m2=rem(fix(m/10),10);     %求m的十位数字;rem:求余运算
    4     m3=rem(m,10);     %求m的个位数字
    5 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3
    6     disp(m)    
    7     end
    8 end

    输出结果:153
    370
    371
    407
  3. 已知y=1/12+1/22+...1/n2,当n=100时,求y的值;
  4. y=0; 
    n=100;
    for i=1:n
        y=y+1/i/i;
    end
    y


    结果:y=1.6350

    快速算法:
    n=100;
    i=1:n;
    f=1./i.^2;%点运算,这里i形成的是一个向量,所以点运算
    y=sum(f)

     

  5. 设f(x)=e-0.5xsin(x+pi/6),求s=(0到3pi的积分)f(s)dx
  6. 以以梯形法算积分:
    a=0;
    b=3*pi;
    n=1000;
    h=(b-a)/n;
    x=a;s=0;
    f0=exp(-0.5*x)*sin(x+pi/6);
    for i=1:n
        x=x+h;
        f1=exp(-0.5*x)*sin(x+pi/6);
    s=s+(f0+f1)*h/2;
    f0=f1;
    end 
    s

    输出结果:


    s =

     
        

    0.9008

     

     

    快速算法(基于向量)

    a=0;
    b=3*pi;
    n=1000;
    h=(b-a)/n;
    x=a:h:b;
    f=exp(-0.5*x).*sin(x+pi/6);%f已经形成了一个向量;
    for i=1:n
    s(i)=(f(i)+f(i+1))*h/2;
    end
    s=sum(s)

     
       

     

转载于:https://www.cnblogs.com/freesblog/p/3989045.html

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值