[問題] 怪異的加總問題

看板CSSE (電腦科學及軟體工程)作者 (Mick@Tucson)時間18年前 (2007/03/08 19:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/5 (看更多)
我寫了一隻程式對100*100的矩陣做QR分解, 然後輸出eigenvalue及eigenvector. 然後我把兩個eigenvector相乘, 得到一個數值. 這兩個100個元素的向量, 裡面的值是實數且有正有負, 問題來了, 我用程式加總之後的值跟Excel算出來的不一樣.... 為了找出問題, 我印出 v1[i] v2[i] v1[i]*v2[i] 的值, 然後用程式算出 v1[i]*v2[i] 的值, 再把 v1[i]*v2[i] 的值貼到 Excel 用 Sum() 加總. 程式算出來的值是 7.1991e-017 Excel 算出來的值是 0.00000008896 = 8.896e-8 差太多了, 我實在無法用"誤差"來說服自己.... 有人遇過類似的問題嗎? 程式算出來的v1[i]*v2[i]和Excel算出來的倒是沒太大差異. 如果只計算 0 到 98 項, 或 1 到 99 項, 程式和 Excel 也沒太大差異. 若一百項全加起來, 值就差很多, 又因為我要求此值的倒數, 整個情況變的很混亂.... 又, 我用VC2003, Release跟Debug所求出來的值是一樣的. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.231.146.70
文章代碼(AID): #15x_ajrq (CSSE)
文章代碼(AID): #15x_ajrq (CSSE)