在我的代碼中,我需要檢查一個向量的兩個連續成員之間的差異對是否相等/不相等,然後相應地做一些事情。 現在,這裏是個奇怪的東西在Matlab中發生的說,如果我有一個兩成對的連續兩個數字的,所以當我使用Matlab中的非運算符行爲奇怪
(x(i+3) - x(i+2)) ~= (x(i+1)-x(i))
它給了我一個1
即使雙方都是平等的。 我認爲原因是有一些四捨五入錯誤,但不是很確定。例如,
x = [0,0.16,0.32,0.48,0.64,0.80];
>>a = x(5) - x(4)
a =
0.1600
>>b = x(4) - x(3)
b =
0.1600
>>a-b
ans =
5.5511e-17
任何想法如何擺脫這個問題?有沒有什麼不同的策略繞過~=
或==
運營商解決這個問題?
在此先感謝球員。
爲什麼不只是檢查你比較的兩個數字的差異是否小於'epsilon'? – Ansari