MATLAB while循环语法
在MATLAB 中 while循环的语法如下:
while 循环反复执行程序语句只要表达式为 true。
当结果不为空,并包含所有非零元素(逻辑或实际数字),表达式为 true ;否则,表达式为 false。
while <expression>
<statements>
end
编写程序输出下列结果
编写程序寻找所有的水仙花数
fix 是截断保留整数部分, mod(a, b) a对b取模
num=100;
while(num<=999)
temp=num;
a=fix(temp/100);
b=fix((temp-a*100)/10);
c=temp-100*a-10*b;
if (num==a*a*a+b*b*b+c*c*c)
fprintf('%d\n',num);
end
num=num+1;
end
for 循环
MATLAB中的 for循环的语法如下:
for index = values
<program statements>
...
end
案例一
for a = 10:20
fprintf('a value of a: %d\n', a);
end
案例二
for b = 1.0: -0.1: 0.0
fprintf('b value of a: %d\n', b);
end
for c = [22, 33, 44, 55, 66, 77]
fprintf('c value of a: %d\n', c);
end
MATLAB嵌套循环语法:
在 MATLAB 中嵌套 for 循环语句的语法如下:
for m = 1:j
for n = 1:k
<statements>;
end
end
在 MATLAB 中嵌套 while 循环语句的语法如下:
while <expression1>
while <expression2>
<statements>
end
end
- 寻找2~100所有的素数
for i=2:100
flag=0;
for j=2:i-1
if mod(i,j)==0
flag=1;
break
end
end
if flag==0
fprintf('%d ',i)
end
end
- 九九乘法表
for i=1:9
for j=1:i
fprintf('%d*%d=%d ',j,i,i*j)
end
fprintf('\n')
end