matlab变量由非标量,matlab中的if语句
有條件性地執行語句
語法
if expression
statements
end
描述
MATLAB計算表達式,如果產生一個邏輯真或者非零結果,然后就執行一條或者多條MATLAB命令語句。
當有嵌套if時,每一個if必須和一個相應的end匹配。
當你在if語句里面嵌套使用else if或者else時,一般的格式如下:
if expression1
statements1
elseif expression2
statements2
else
statements3
end
參數
1、expression
expression參數一個MATLAB表達式,通常由一些變量或者聯合相關操作的更小的表達式(例如:count < limit)或者邏輯函數(例如:isreal(A))組成。簡單表達式可以結合一些邏輯運算符(&,|,~)變成復合表達式,例如下面的組合表達式從左到右根據操作符優先級進行計算。
(count < limit) & ((height - offset) >= 0)
2、statements
statements參數是一條或者多條僅僅當expression為true或者非零時而執行的MATLAB語句。
備注
非標量表達式:
如果需要計算的表達式產生一個非標量的值,那么只有當該值的每一個元素都為true或者非零時,才認為該表達式為true。例如,對于語句if(A
計算部分表達式值:
在if或者while語句中,并不是所有情況都要計算整個表達式的值,在某些情況下,只需計算部分值就可以判斷真假,這樣往往是更優的。例如:
在下面表達式1中,如果A為零,那么整個表達式的值為false,而不管B的值如何,這樣就沒必要計算B的值,而MATLAB也不會去計算它。同樣,在表達式2中,如果A為非零,那么整個表達式為true,而不管B的值如何。這些時候都不需要計算表達式后面部分的值。
1)?? if (A & B)?????????????? 2)?? if (A | B)
如果前半部分的值能評估整個表達式狀態,你可以通過這個屬性來優化程序。例如:
while (b ~= 0) & (a/b > 18.5)
if exist('myfun.m') & (myfun(x) >= y)
if iscell(A) & all(cellfun('isreal', A))
示例
1、在下面這個示例中,如果兩個條件都滿足,那么學生將通過這課程。
if ((attendance >= 0.90) & (grade_average >= 60))
pass = 1;
end;
2、已知矩陣A和B,
A =???????????????? B =
1???? 0??????????? 1???? 1
2???? 3??????????? 3???? 4
則有下面結果:
總結
以上是生活随笔為你收集整理的matlab变量由非标量,matlab中的if语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php5.0相等,关于php:3个相等
- 下一篇: 2019matlab中的floyd,基于