zoukankan      html  css  js  c++  java
  • 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)

      
      
  • 相关阅读:
    HTML5---offline application(application cache)
    apache asp.net
    长轮询
    comet ajax轮询
    bootstrap3
    weixin
    backbone csdn
    backbone case
    backbone showcase
    javascript performance
  • 原文地址:https://www.cnblogs.com/freesblog/p/3989045.html
Copyright © 2011-2022 走看看