matlab流程控制
if语句
matlab中使用if来表示条件,若满足则执行对应代码,形式为:
if condition
expression
end
没有缩进,没有花括号,使用end表示if语句的结束,if与end之间的范围为if代码块。与一般的语言相似,condition为条件表达式,expression为需要执行的代码。
同样地,matlab中也有if-else和if-elseif-else的结构,使用方式与一般语言相似,例:
if condition
expression
elseif condition
expression
elseif condition
expression
else
expression
end
可以嵌套地使用if语句,例:
if condition
if condition
expression
else
expression
end
end
while循环
matlab中while循环语句也是用end表示结束,形式为:
while condition
expression
end
在条件表达式为true时,会执行expression代码,即只要condition不为false,循环持续执行。
for循环
matlab中for循环的循环次数有三种常用表示方式
- initval:endval
- initval:step:endval
- array
initval:endval
元素从initval增长至endval,步长默认为1
for a=1:10
disp(a)
end
显示结果
1
2
3
4
5
6
7
8
9
10
initval:step:endval
指定元素变化的步长
for a=10:-1:1
disp(a)
end
显示结果
10
9
8
7
6
5
4
3
2
1
array
array为一个可以被迭代的变量,如向量、矩阵、字符串,遍历array中的元素
array = [1,2,3,4,5]
for x=array
disp(x)
end
显示结果
1
2
3
4
5
break和continue
与常见用法一致
switch语句
与C中的switch类似,但有些不同,形式为:
switch x
case case_1
expression
case case_2
expression
otherwise
expression
end
matlab的switch,每一个case无需使用break表示结束,case语句后也没有冒号,使用otherwise对应未匹配。
与C中一致,此处的case_1,case_2均为常量表达式