MATLAB 提供以下类型的循环处理循环的要求。点击链接,查看个循环类型的细节:
循环类型 | 描述 |
---|---|
while 循环 | 一个给定的条件为真时重复语句或语句组。测试条件才执行循环体。 |
for 循环 | 执行的语句序列多次缩写管理循环变量的代码。 |
nested 循环 | 可以使用一个或多个环路内任何另一个循环。 |
MATLAB循环控制语句
循环控制语句可以更改正常的执行顺序,当执行留下了范围,在该范围内所有自动创建的对象被销毁。
MATLAB支持以下控制语句。点击相应链接,可以查看各语句应用。
控制语句 | 描述 |
---|---|
break 语句 | 终止循环语句,将执行的语句紧随循环。 |
continue 语句 | 导致循环,跳过它的身体的其余部分,并立即重新再次测试前的状况。 |
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循环的语法如下:
for index = values <program statements> ... end
for 循环的值有下述三种形式之一:
格式 | 描述 |
---|---|
initval:endval | 将索引变量从初始到终值递增1,并重复执行程序语句,直到索引值大于终值。 |
initval:step:endval | 按每次迭代中的值步骤递增索引, 或在步骤为负值时递减。 |
valArray | 在每个迭代 valArrayon 数组的后续列中创建列向量索引。例如, 在第一次迭代中, index = valArray (:, 1),循环执行最大 n 次, 其中 n 是 valArray 的列数,由 numel (valArray, 1,:) 给出。输入 valArray 可以是任何 MATLAB 数据类型, 包括字符串、单元格数组或结构。 |
详细例子如下:
例子 1
在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
例子 2
在MATLAB中建立一个脚本文件,并输入下述代码:
for a = 1.0: -0.1: 0.0 disp(a) end
运行该文件,显示以下结果:
1 0.9000 0.8000 0.7000 0.6000 0.5000 0.4000 0.3000 0.2000 0.1000 0
例子3
在MATLAB中建立一个脚本文件,并输入下述代码:
for a = [24,18,17,23,28] disp(a) end
运行该文件,显示下述结果:
24 18 17 23 28