文档介绍:第四讲:Matlab程序设计(下)
流程控制
3、由while end 构成的不定次循环语句
While 循环以不定的次数求一组语句的值。While循环的一般形式是:
while 条件
语句
end
只要在表达式里的所有元素为真或非0,就执行while和end 语句之间的‘语句’。
通常,表达式的求值给出一个标量值,但数组值也同样有效。在数组情况下,所得到数组的所有元素必须都为真。考虑下列例子:
举例
nfnum=0;
while(nfnum<1)|(nfnum>8)
%当输入为1-8之间的数值,停止循环
nfnum=input('Enter a numer from 1 to 8:')
end
举例
num=0;EPS=1;
while (1+EPS)>1
EPS=EPS/2;
num=num+1;
end
s=0;i=1
while i<101
s=s+i;
i=i+1;
end
也可以通过变量的值来控制
var=[1 2 3 4 0 5 6 0];
a=[];k=1;
while var(k)
a=[a var(k).^3];
k=k+1;
end
disp(a)
While循环中通过break语句来终止循环
var=[1 2 3 4 5 6 -1 7 8 0];
a=[];k=1;
while var(k)
if var(k)==-1
break;
end
a=[a var(k).^2];
k=k+1;
end
disp(a)
嵌套
4、由for end 构成的确定次数的循环语句
for循环允许一组命令以固定的和预定的次数重复。for循环的一般形式是:
for x = array
{commands}
end
mands}按数组中的每一列执行一次。在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:, n)。例如,
for n=1:10
x(n)=sin(n*pi/10);
end
换句话,第一语句是说:对n等于1到10,求所有语句的值,直至下一个end语句。第一次通过For循环n=1,第二次,n=2,如此继续,直至n=10。在n=10以后,For循环结束,然后求end语句后面的任何命令值,在这种情况下显示所计算的x的元素