4.3.1 關(guān)系及邏輯運(yùn)算在執(zhí)行關(guān)系及邏輯運(yùn)算時(shí),MATLAB 將輸入的不為零的數(shù)值都視為真 (True)而為零的數(shù)值則視為否 (False)。 運(yùn)算的輸出值將判斷為真者以 1 表示而判斷為否者以 0 表示。MATLAB 提供以下的關(guān)系判斷及邏輯的運(yùn)算 元: 符號(hào) 關(guān)系的意義 < 小于 <= 小于等于 > 大于 >= 大于等于 == 等于 ~= 不等于 & 邏輯 and | 邏輯 or ~ 邏輯 not 上述的各個(gè)運(yùn)算元須用在二個(gè)大小相同的陣列或是矩陣的比較,以下有幾個(gè)例子: >> a=1:5, b=5-a, a = 1 2 3 4 5 b = 4 3 2 1 0 >> tf= a>4 tf = 0 0 0 0 1 >> tf= a==b tf = 0 0 0 0 0 >> tf= b-(a>2) tf = 4 3 1 0 -1 >> tf= ~(a>4) tf = 1 1 1 1 0 >> tf= (a>2)&(a<6) tf = 0 0 1 1 1 以下是算式利用關(guān)系及邏輯運(yùn)算產(chǎn)生一不連續(xù)的訊號(hào) >> x=linspace(0,10,100); % 產(chǎn)生數(shù)據(jù) >> y=sin(x); % 產(chǎn)生 sine 函數(shù) >> z=(y>=0).*y; % 將 sin(x) 的負(fù)值設(shè)為零 >> z=z + 0.5*(y<0); % 再將上式的值加上0.5 >> z=(x<8).*z; % 將大于 x=8 以后的值設(shè)為零 >> hold on >> plot(x,z) >> xlabel('x'),ylabel('z=f(x)') >> title('A discontinuous signal') >> hold off 除了上述的運(yùn)算元之外,尚有以下的邏輯關(guān)系函數(shù):xor(x,y), any(x), all(x), isnan(x), isinf(x), finite(x), find(x),其 使用方式詳見線上說明。 |
|