我正在開發用於對象檢測的圖像處理應用程序。Matlab日誌(1)並非總是爲零
在某個點我使用兩個平方協方差矩陣的廣義特徵值向量的對數。 假設我有一個9x9的協方差矩陣a。
a = rand(9, 9)%just generating random matrix for testing problem easily
b = eig(a, a)%generalized eigenvalues vector containing nine values equal to 1
%so we have b = [1.000, 1.000, 1.000 ... (9 times)]
c = log(b(:)) %we know b contains values of 1. and log(1) is 0.
即使我們知道並可以調試看到B包含值爲1和日誌內容(1)爲0,C的含量是:
1.0e-014 *
0.0222
0.1110
0.0222
0.0222
-0.0777
0
0.0222
0.0888
0
這在我的情況。 任何人都知道爲什麼不具有0值? 謝謝。
可能是因爲你的'B'數組中的值是不完全等於1 –
我同意奧利。只需執行一個(b-1),你就會發現它們並不全是0。 – TOTA
'1e-15'在大多數情況下都是零,如果您按照普萊克的順序工作,您可以使用http://www.mathworks.com/matlabcentral/fileexchange/20029-zero-out-smalls/content/zero_out_smalls/zero_out_smalls.m幅度 – 0x90