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