顺序结构
if语句
MATLAB的if语句与C语言的类似,区别在于:
- else和if之间没有空格
- 表达式不需要中括号"(“和”)"括起来
- 结尾需要用关键字end表示
- 语句组不需要大括号"{"和“}”括起来(因为会有end以及else等关键字进行区分)
示例如下
if 表达式
语句组
elseif 表达式2
语句组2
else
语句组3
end
结构流程控制语句在m文件和命令行窗口都可以进行编写,在命令行窗口编写时,左下角会出现“继续输入语句”的字样,直到输入end并按下回车,才会开始执行。
switch语句
MATLAB的switch语句与C语言的类似,区别在于:
- 最后的默认选项是otherwise而不是default
- case语句后不需要冒号":"
- case语句中的常量表达式可以为数组(用数组名、{}括起的元素都行)
- 结尾需要用关键字end表示
- case语句组不需要大括号"{"和“}”括起来
示例如下
switch 表达式
case 常量表达式1
语句组1
case 常量表达式2
语句组2
default
语句组3
end
MATLAB的switch不需要break,而是执行任意语句组后退出。
循环结构
for语句
MATLAB的for语句示例如下
for 循环变量=数组表达式
循环体
end
其中,数组表达式可以用数组名,此时每次循环中,循环变量等于对应下标的元素。当然,一般也可以用冒号表达式作为数组表达式使用,C语言的for(num=0;num<10;num++)
与MATLAB的for num=0:1:9
等效,当然,个人感觉C语言的for语句更灵活,(毕竟条件更容易写入,而对应下标的元素完全可以在循环体里面用数组),当然,MATLAB的for语句也可以实现C语言中的功能。(最多加个判断然后break)
while语句
MATLAB的while语句示例如下,与C语言几乎一模一样。(但表达式不需要加括号)
while 表达式
循环体
end
其它语句
break
一般在循环语句中使用,用于终止最内层循环。
continue
一般在循环语句中使用,用于跳过本次循环。
return
使正在执行的函数正常退出
try…catch…
格式:
try
语句组1
catch
语句组2
end
try…catch…语句实际上和下面的if结构类似,即执行语句组1,若出错则执行语句组2。(若正常就不执行语句组2,而是跳过咯)
if !语句组1
语句组2
end
try…catch…的使用可以提高程序的容错能力以及程序设计的灵活性,而不至于但碰见错误时跳到死循环或停止运行。