switch-case结构
switch语句执行基于变量或表达式的语句组,关键字case和otherwise用于描述语句组,只执行第一个匹配的情形。
switch value % value为需要进行判决的标量或字符串
case test1
command1 % 如果value等于test1,执行command1,并结束此结构
case test2
command2
...
case testk
commandk
otherwise
commands
end
说明:
- value应为一个标量或者一个字符串。当表达式为标量时,比较命令为表达式==检测值i;表达式为字符串时,将执行字符串函数strcmp函数来比较,strcmp(表达式, 检测值i)。
- case指令之后的检测值不仅可以是一个标量或一个字符串,还可以是一个元胞数组。如果元胞数组中有某个元素与表达式的值相等,则认为此次比较的结果为真,从而执行对应的命令组
try-catch结构
语法形式如下:
try
command1 % command1总是先被执行。若正确,执行完后结束此结构。
catch
command2 % command1执行发生错误时,执行命令组2。
end
说明:
- 当执行command1发生错误时,可调用lasterr函数查询出错的原因。如果lasterr函数的运行结果为空字符串,则表示command1执行成功。
- 如果执行command2又发生错误,则matlab将会终止该结构。