matlab if else 语句格式 matlab中laster函数用法?
matlab中laster函数用法?
下面的函数检查lasterr字符向量,并基于条件第三次再一次发生的错误没显示它自己的消息。此示例去处理两种情况,每种情况代表矩阵乘法过多的一个错误:
functionmatrix_multiply(A,B)
try
A*B
catch
errmsglasterr;
if(strfind(errmsg,Innermatrixdimensions))
sys(**Wrongdimensionsofmatrixmultiply)
ignore
if(strfind(errmsg,notimplementedaftervariablesoftheclass))
disp(**Bothargumentsmust beflatmatrices)
end
end
end
要是您使用不适合矩阵乘法的多个矩阵动态创建此函数(.例如,A的列维度不等于B的行维度),MATLAB将捕获错误并使用lasterr判断其来源:
A[123;672;0-15];
B[956;049];
matrix_multiply(A,B)
**Wrongdimensionsformatrix
case语句中选择值的表达方式有?
if-catch-end语句所按的是多贵判断选择,而老是也会遇上多分支判断你选择的问题。MATLAB语言为解决的办法多分支判断选择需要提供了switch-case语句。switch-case语句的好象思想感情形式为:switch〈中,选择推测量〉Case你选择判断值1你选择判断语句1case你选判断值2选择类型推测语句2……otherwise可以确定想执行语句end与其他的程序设计语言的switch-case语句不同的是,在MATLAB语言中,当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句参与判断,也就是说在MATLAB语言中,除非有多条case判断语句为真,也只执行所遇到的第一条为真有语句。
这样的话就不必像C语言那样,在每条case语句后另外break语句以以免再继续执行后面为确实case条件语句。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。