MATLAB 控制结构

分支结构

MATLAB 中的分支结构有 if-else 结构、switch 结构。

if 语句

if 语句的语法格式如下:

1
2
3
4
5
6
7
if condition
statement
elseif condition
statement
else
statement
end

其中,condition 是一个逻辑表达式,statement 是一个语句。elseif 和 else 部分是可选的。

只有 condition 为 true 时,对应分支的 statement 才会被执行。若 condition 为 false,则跳过该分支,继续执行下一个分支。所有分支都不满足 condition 时,执行 else 分支。

switch 语句

switch 语句的语法格式如下:

1
2
3
4
5
6
7
8
switch expression
case value1
statement
case value2
statement
otherwise
statement
end

其中,expression 是一个表达式,value1 和 value2 是 expression 可能的值,statement 是一个语句。otherwise 部分是可选的。

switch 语句会依次比较 expression 和 value1、value2 的值,若相等,则执行对应分支的 statement。若 expression 的值与所有 value 都不相等,则执行 otherwise 分支。


循环结构

MATLAB 中的循环结构有 for 循环、while 循环。

for 循环

for 循环的语法格式如下:

1
2
3
for i = start : step : end
statement
end

其中,i 是一个变量,start、step 和 end 是一个表达式。statement 是一个语句。

for 循环会依次执行 statement,i 的值从 start 开始,每次增加 step,直到 i 的值大于 end 时停止。

while 循环

while 循环的语法格式如下:

1
2
3
while condition
statement
end

其中,condition 是一个逻辑表达式,statement 是一个语句。

while 循环会依次执行 statement,直到 condition 为 false 时停止。

break 语句

break 语句用于终止 for 或 while 循环。

1
2
3
4
5
6
for i = 1 : 10
if i == 5
break
end
disp(i)
end

上述代码会输出 1 到 4。

continue 语句

continue 语句用于跳过 for 或 while 循环中的当前迭代。

1
2
3
4
5
6
for i = 1 : 10
if i == 5
continue
end
disp(i)
end

上述代码会输出 1 到 4 和 6 到 10。


附表

控制结构相关语句:

语句说明
if, elseif, else条件为 true 时执行语句
switch, case, otherwise执行多组语句中的一组
for用来重复指定次数的 for 循环
while条件为 true 时重复执行的 while 循环
try, catch执行语句并捕获产生的错误
break终止 for 或 while 循环
return将控制权交还给调用脚本或函数
continue将控制传递给 for 或 while 循环的下一迭代
pause暂时停止执行 MATLAB
parfor并行 for 循环
end终止代码块