matlab循环结构

来源:互联网 发布:mac office 中文版 编辑:程序博客网 时间:2024/05/17 03:17

2.3  循环结构

1for语句

for语句的格式为:

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

        循环体语句

    end

其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。

     在实际MATLAB编程中,采用循环语句会降低其执行速度,所以前面的程序通常由下面的程序来代替:

n=100;

i=1:2:2*n-1;

y=sum(1./i);

y

 

for语句更一般的格式为:

    for 循环变量=矩阵表达式

       循环体语句

    end

    执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。

 

    10  写出下列程序的执行结果。

    s=0;

    a=[12,13,14;15,16,17;18,19,20;21,22,23];

    for k=a

       s=s+k;

    end

    disp(s');

 

2while语句

    while语句的一般格式为

    while (条件)

         循环体语句

    end

    其执行过程为若条件成立则执行循环体语句执行后再判断条件是否成立如果不成立则跳出循环。

 

    11  从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。

程序如下

sum=0;

cnt=0;

val=input('Enter a number (end in 0):');

while (val~=0)

     sum=sum+val;

     cnt=cnt+1;

     val=input('Enter a number (end in 0):');

end

if (cnt > 0)

    sum

    mean=sum/cnt

end

 3break语句和continue语句

    与循环结构相关的语句还有break语句和continue语句。它们一般与if语句配合使用。

break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。

continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。

 

12  [100200]之间第一个能被21整除的整数。

程序如下

for n=100:200

if rem(n,21)~=0

      continue

end

break

end

n

 4循环的嵌套

    如果一个循环结构的循环体又包括一个循环结构就称为循环的嵌套或称为多重循环结构。

    13  若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。

for m=1:500

s=0;

for k=1:m/2

if rem(m,k)==0

s=s+k;

end

end

if m==s

    disp(m);

end

end

原创粉丝点击