[問題] 見鬼了...竟然不相等已回收

看板MATLAB作者 (Up to date)時間17年前 (2008/11/25 01:26), 編輯推噓3(307)
留言10則, 6人參與, 最新討論串1/1
>> M = [1 2 3 4; 5 6 7 8; 4 3 2 1] M = 1 2 3 4 5 6 7 8 4 3 2 1 >> C=[M(:,1),M(:,2)] \ M(:,3) C = -1.0000 2.0000 >> C(1,1)*M(:,1)+C(2,1)*M(:,2) == M(:,3) ans = 0 0 0 >> C(1,1)*M(:,1)+C(2,1)*M(:,2) ans = 3.0000 7.0000 2.0000 >> M(:,3) ans = 3 7 2 >> 3.000 == 3 ans = 1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 116.59.183.214

11/25 01:36, , 1F
這是顯示格式的問題 你用相減的話 會有很微小的差距
11/25 01:36, 1F

11/25 01:37, , 2F
round-off error....3.0000000000001不等於3
11/25 01:37, 2F

11/25 01:44, , 3F
我怎麼覺得這是很嚴重的問題...
11/25 01:44, 3F

11/25 01:44, , 4F
這跟當初的浮點運算錯誤有什麼差別!!!
11/25 01:44, 4F

11/25 03:34, , 5F
numerical error
11/25 03:34, 5F

11/25 07:20, , 6F
這本來就是浮點數誤差
11/25 07:20, 6F

11/25 14:27, , 7F
用有限的bits本來就不可能表示任一無窮的數系。
11/25 14:27, 7F

11/25 14:29, , 8F
整數型別沒有error的問題,有overflow的問題。
11/25 14:29, 8F

11/25 14:30, , 9F
浮點數則是有error與overflow的問題。
11/25 14:30, 9F

11/25 14:33, , 10F
所以這不是MATLAB的問題,而是IEEE 754的問題。
11/25 14:33, 10F
文章代碼(AID): #19AkF2bW (MATLAB)
文章代碼(AID): #19AkF2bW (MATLAB)