2017-05-04 63 views
2
tfinal = 10; 
dt_fine = 0.0000001; 
tvec_fine = [0:dt_fine:tfinal]; 
find(tvec_fine==0.1) 


ans = 
Empty matrix: 1-by-0 

爲什麼上面的代碼找不到索引tvec_fine有條目0.1。它顯然具有基於tvec_fine的定義的條目。Matlab函數查找不起作用浮點數

+3

aha,浮點精度 - https://stackoverflow.com/questions/686439/why-is-24-0000-not-equal-to-24-0000-in-matlab – GameOfThrows

回答

1

這是因爲浮點的精度很窄,0.1最終可能會以0.10000001比0.1000000002爲例。

這是一個非常粗略的描述,只是爲了給您一個想法,正如評論中指出的那樣,更多開發的答案和解決方案已經在SO上提供。