matlab if else 語(yǔ)句格式 matlab中l(wèi)aster函數(shù)用法?
matlab中l(wèi)aster函數(shù)用法?下面的函數(shù)檢查lasterr字符向量,并基于條件第三次再一次發(fā)生的錯(cuò)誤沒(méi)顯示它自己的消息。此示例去處理兩種情況,每種情況代表矩陣乘法過(guò)多的一個(gè)錯(cuò)誤:function
matlab中l(wèi)aster函數(shù)用法?
下面的函數(shù)檢查lasterr字符向量,并基于條件第三次再一次發(fā)生的錯(cuò)誤沒(méi)顯示它自己的消息。此示例去處理兩種情況,每種情況代表矩陣乘法過(guò)多的一個(gè)錯(cuò)誤:
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
要是您使用不適合矩陣乘法的多個(gè)矩陣動(dòng)態(tài)創(chuàng)建此函數(shù)(.例如,A的列維度不等于B的行維度),MATLAB將捕獲錯(cuò)誤并使用lasterr判斷其來(lái)源:
A[123;672;0-15];
B[956;049];
matrix_multiply(A,B)
**Wrongdimensionsformatrix
case語(yǔ)句中選擇值的表達(dá)方式有?
if-catch-end語(yǔ)句所按的是多貴判斷選擇,而老是也會(huì)遇上多分支判斷你選擇的問(wèn)題。MATLAB語(yǔ)言為解決的辦法多分支判斷選擇需要提供了switch-case語(yǔ)句。switch-case語(yǔ)句的好象思想感情形式為:switch〈中,選擇推測(cè)量〉Case你選擇判斷值1你選擇判斷語(yǔ)句1case你選判斷值2選擇類型推測(cè)語(yǔ)句2……otherwise可以確定想執(zhí)行語(yǔ)句end與其他的程序設(shè)計(jì)語(yǔ)言的switch-case語(yǔ)句不同的是,在MATLAB語(yǔ)言中,當(dāng)其中一個(gè)case語(yǔ)句后的條件為真時(shí),switch-case語(yǔ)句不對(duì)其后的case語(yǔ)句參與判斷,也就是說(shuō)在MATLAB語(yǔ)言中,除非有多條case判斷語(yǔ)句為真,也只執(zhí)行所遇到的第一條為真有語(yǔ)句。
這樣的話就不必像C語(yǔ)言那樣,在每條case語(yǔ)句后另外break語(yǔ)句以以免再繼續(xù)執(zhí)行后面為確實(shí)case條件語(yǔ)句。