MATLAB循环语句允许我们多次执行一个语句或语句组。
在一般的情况下,程序中的语句都是按照顺序执行的,先从函数中的第一条语句开始执行,然后执行第二条并且依次类推。但是也会存在一种情况:需要多次执行代码块,怎么办?
其实编程语言都提供了各种控制结构,允许更复杂的执行路径。
下图是在大多数编程语言中的循环语句的一般形式:
MATLAB 提供以下类型的循环处理循环的要求。点击链接,查看个循环类型的细节:
while 循环
一个给定的条件为真时重复语句或语句组。测试条件才执行循环体。
for 循环
执行的语句序列多次缩写管理循环变量的代码。
可以使用一个或多个环路内任何另一个循环。
MATLAB循环控制语句
循环控制语句可以更改正常的执行顺序,当执行留下了范围,在该范围内所有自动创建的对象被销毁。
MATLAB支持以下控制语句。点击相应链接,可以查看各语句应用。
break 语句
终止循环语句,将执行的语句紧随循环。
continue 语句
导致循环,跳过它的身体的其余部分,并立即重新再次测试前的状况。
MATLAB while循环
MATLAB的
while
循环会重复执行
while
与
end
语句间的运算式,只要表达式为
true
。
MATLAB while循环语法
在MATLAB 中 while循环的语法如下:
while <expression>
<statements>
end
while 循环反复执行程序语句只要表达式为 true。
当结果不为空,并包含所有非零元素(逻辑或实际数字),表达式为 true ;否则,表达式为 false。
在MATLAB中建立一个脚本文件,并输入以下代码:
a = 10;
% while loop execution
while( a < 20 )
fprintf('value of a: %d\n', a);
a = a + 1;
end
运行该文件,显示结果如下:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
MATLAB for循环
MATLAB中
for
循环是一个重复的控制结构,可以有效地写一个循环,只是执行的次数是特定的。
MATLAB for 循环语法:
MATLAB中的 for循环的语法如下:
按每次迭代中的值步骤递增索引, 或在步骤为负值时递减。
valArray
在每个迭代
valArrayon
数组的后续列中创建列向量索引。例如, 在第一次迭代中, index = valArray (:, 1),循环执行最大 n 次, 其中 n 是
valArray
的列数,由 numel (valArray, 1,:) 给出。输入
valArray
可以是任何 MATLAB 数据类型, 包括字符串、单元格数组或结构。
详细例子如下:
在MATLAB中建立一个脚本文件,并输入下述代码:
for a = 10:20
fprintf('value of a: %d', a);
end
运行文件,显示下述结果:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
value of a: 20
在MATLAB中建立一个脚本文件,并输入下述代码:
for a = 1.0: -0.1: 0.0
disp(a)
end
运行该文件,显示以下结果:
for i=2:100
for j=2:100
if(~mod(i,j))
break; % if factor found, not prime
end
end
if(j > (i/j))
fprintf('%d is prime', i);
end
end
然后运行该文件,显示如下结果:
2 is prime
3 is prime
5 is prime
7 is prime
11 is prime
13 is prime
17 is prime
19 is prime
23 is prime
29 is prime
31 is prime
37 is prime
41 is prime
43 is prime
47 is prime
53 is prime
59 is prime
61 is prime
67 is prime
71 is prime
73 is prime
79 is prime
83 is prime
89 is prime
97 is prime
MATLAB break语句
MATLAB中 break 语句用于终止 for 或 while 循环的执行,当在循环体内执行到该语句的时候,程序将会跳出循环,继续执行循环语句的下一语句。
注意
:在嵌套循环中,break 退出只能在循环发生,后通过的声明控制循环结束。
MATLAB break语句流程图
在MATLAB中建立一个脚本文件,并输入下面的代码:
a = 10;
% while loop execution
while (a < 20 )
fprintf('value of a: %d', a);
a = a+1;
if( a > 15)
% terminate the loop using break statement
break;
end
end
运行该文件,显示下述结果:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
MATLAB continue语句
MATLAB中 continue 语句控制跳过循环体的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所剩下的语句,继续下一次循环。
MATLAB中的 continue 语句跟 break 语句有点像,但 break 是强制终止,continue 强制下一次迭代的循环发生,跳跃中的任何代码之间。
MATLAB continue 语句流程图:
详细例子:
在MATLAB中建立一个脚本文件,并输入下述代码:
a = 10;
%while loop execution
while a < 20
if a == 15
% skip the iteration
a = a + 1;
continue;
end
fprintf('value of a: %d', a);
a = a + 1;
end
运行该文件,显示下述结果: