源自於http://bime-matlab.blogspot.com/2006/10/31_09.html
兩陣列間之相互比較是常有的事,若能配合程式之關係運算則可節省撰寫時間。一般關係操作元主要在兩個變數間作邏輯性比較,,然後選擇一個最佳的結果;在MATLAB之應用上實也脫離不了這些原則。只是在陣列之比較上,必須時時注意其大小之匹配。下面為一般操作元之定義:
表3.1 關係操作元
操作單元符號 說明
< 小於
<= 小於或等於
> 大於
>= 大於或等於
== 等於
~= 不等於
>> A=magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>>B=round(rand(4,4)*16)
B =
7 10 11 10
15 1 12 3
13 14 12 11
15 15 6 1
>>C= (A>=B)
C =
4×4 logical array
1 0 0 1
0 1 0 1
0 0 0 1
0 0 1 1
若在A矩陣中,將所有A>=B之元素均設為100,
>> A(C)=100
A =
100 2 3 100
5 100 10 100
9 7 6 100
4 14 100 100
A(A>=B)=100
A =
100 2 3 100
5 100 10 100
9 7 6 100
4 14 100 100
A矩陣中只要相對應於C矩陣中之值為真,或合於A>=B條件之元素
因而均被設為100。
這種方法並不只與其他矩陣比較,與自身矩陣之元素比較亦可,例如:
>> A=magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> A(A<10)=10
A =
16 10 10 13
10 11 10 10
10 10 10 12
10 14 15 10
沒有留言:
張貼留言