我有一個矩陣A = [0 3 4; 5 0 6; 0 6 0]
;計算矩陣中的特殊零元素
我知道要計算零元素的總數,我可以簡單地使用函數find
。也就是說,Total_number_of_zero_elements = length(find(A==0));
並且這將給我4.
問題:
採取例如現在矩陣B如下產生:
B = toeplitz(0.1.^(0:30-1));
Total_number_of_zero_elements = length(find(B==0));
上面的代碼將給出:Total_number_of_zero_elements = 0. 矩陣B包含很多0值,但寫入爲0.0000。
所以matlab不能區分0和0.0000之間使用函數find?
任何幫助將不勝感激!
'總和(ABS(B)<= EPS)'或替換帶定製公差值的「eps」? – Divakar
另外,如果你有一個元素「B(i,j)」是0.0000,那麼檢查'format long e; B(i,j)'看到它實際上不是0而是在1e-15'附近。 –
好的!我現在知道了;謝謝 – Christina