1. 程式人生 > 程式設計 >使用matlab 判斷兩個矩陣是否相等的例項

使用matlab 判斷兩個矩陣是否相等的例項

數學意義的相等

all(A(:) == B(:))

isequal(A,B)

但須注意的是:B = A,未必能保證 isequal(A,B)返回真,因為如果 A 中包含NaN,因為按照定義,NaN ~= NaN

>> A = [1,NaN]
>> B = A
>> isequal(A,B)
0

>> NaN == NaN
0

浮點數相等

對於浮點數矩陣,判斷兩個矩陣是否精確相等意義不大,真正有意義的比較是比較兩個矩陣是否足夠接近:

>> all(abs(A(:)-B(:))<col)

或者:

>> max(abs(A(:)-B(:))) < col

補充知識:matlab矩陣轉置中.'和'的不同

兩者對於實矩陣沒有差異,均表示轉置矩陣

ctranspose:

'表示複共軛轉置,轉置後虛部符號相反。

transpose:

.'表示非共軛轉置,轉置後虛部不變

以上這篇使用matlab 判斷兩個矩陣是否相等的例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。