在執行關係及邏輯運算時,matlab 將輸入的不為零的數值都視為真 (true)而為零的數值則視為否 (false)。 運算的輸出值將判斷為真者以 1表示 而判斷為否者以 0 表示。matlab 提供以下的關係判斷及邏輯的運算 元:
符號 關係的意義
[code]< 小於
<= 小於等於
> 大於
>= 大於等於
== 等於
~= 不等於
& 邏輯 and
| 邏輯 or
~ 邏輯 not[/code]
上述的各個運算元須用在二個大小相同的陣列或是矩陣的比較
使用邏輯運算產生乙個不連續的訊號:
[code]x=linspace(0,10,100); % 產生資料
y=sin(x); % 產生 sine 函式
z=(y>=0).*y; % 將 sin(x) 的負值設為零
z=z + 0.5*(y<0); % 再將上式的值加上0.5
z=(x<8).*z; % 將大於 x=8 以後的值設為零
hold on
plot(x,z)
xlabel('x'),ylabel('z=f(x)')
title('a discontinuous signal')
hold off[/code]
執行結果參看luoji_.png
邏輯關係函式:xor(x,y), any(x), all(x), isnan(x), isinf(x), finite(x), find(x)
檢視find的解釋:
[quote]>> help find
find find indices of nonzero elements.
i = find(x) returns the indices of the vector x that are
non-zero. for example, i = find(a>100), returns the indices
of a where a is greater than 100. see relop.
[i,j] = find(x) returns the row and column indices of
the nonzero entries in the matrix x. this is often used
with sparse matrices.
[i,j,v] = find(x) also returns a vector containing the
nonzero entries in x. note that find(x) and find(x~=0)
will produce the same i and j, but the latter will produce
a v with all 1's.[/quote]
2 7關係運算與邏輯運算
1 關係運算 matlab提供了6種關係運算子 關係運算子的運算法則如下 1 當兩個標量相比較時,直接比較兩數的大小。若關係成立,關係表示式結果為1,否則為0。2 當乙個標量與乙個矩陣相比較時,則把標量與矩陣的每乙個元素按標量關係運算規則逐個比較,並給出元素比較結果。最終關係運算的結果是乙個維數與原...
算術運算 關係運算與邏輯運算的區別
算術運算簡稱運算。指按照規定的法則和順序對式題或算式進行運算,並求出結果的過程。包括 加法 減法 乘法 除法 乘方 開方等幾種運算形式。其中加減為一級運算,乘除為二級運算,乘方 開方為 運算。在一道算式中,如果有幾級運算存在,則應先進行高階運算,再進行低一級的運算。如 3 22 4 3 4 4 3 ...
邏輯位運算與邏輯運算
兩者非常容易混淆,其實這是截然不同的兩種運算.1.邏輯位運算 與運算 1 2 0 0000 0001 0000 0010 0000 0000 0 或運算 1 2 3 0000 0001 0000 0010 0000 0011 3 按位求反 運算,異或 運算略.移位 左移,右移 運算略.2.邏輯運算 ...