matlab|MATLAB(3)MATLAB程序流程控制语句


目录

  • 顺序结构
    • if语句
    • switch语句
  • 循环结构
    • for语句
    • while语句
  • 其它语句
    • break
    • continue
    • return
    • try…catch…

顺序结构 if语句 MATLAB的if语句与C语言的类似,区别在于:
  1. else和if之间没有空格
  2. 表达式不需要中括号"(“和”)"括起来
  3. 结尾需要用关键字end表示
  4. 语句组不需要大括号"{"和“}”括起来(因为会有end以及else等关键字进行区分)
示例如下
if 表达式 语句组 elseif 表达式2 语句组2 else 语句组3 end

结构流程控制语句在m文件和命令行窗口都可以进行编写,在命令行窗口编写时,左下角会出现“继续输入语句”的字样,直到输入end并按下回车,才会开始执行。
switch语句 MATLAB的switch语句与C语言的类似,区别在于:
  1. 最后的默认选项是otherwise而不是default
  2. case语句后不需要冒号":"
  3. case语句中的常量表达式可以为数组(用数组名、{}括起的元素都行)
  4. 结尾需要用关键字end表示
  5. case语句组不需要大括号"{"和“}”括起来
示例如下
switch 表达式 case 常量表达式1 语句组1 case 常量表达式2 语句组2 default 语句组3 end

MATLAB的switch不需要break,而是执行任意语句组后退出。
循环结构 for语句 MATLAB的for语句示例如下
for 循环变量=数组表达式 循环体 end

【matlab|MATLAB(3)MATLAB程序流程控制语句】其中,数组表达式可以用数组名,此时每次循环中,循环变量等于对应下标的元素。当然,一般也可以用冒号表达式作为数组表达式使用,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…的使用可以提高程序的容错能力以及程序设计的灵活性,而不至于但碰见错误时跳到死循环或停止运行。

    推荐阅读