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