[問題] 怪異的加總問題
看板CSSE (電腦科學及軟體工程)作者micklin (Mick@Tucson)時間18年前 (2007/03/08 19:53)推噓0(0推 0噓 0→)留言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
討論串 (同標題文章)
CSSE 近期熱門文章
PTT數位生活區 即時熱門文章