[運算] 求助 簡單的矩陣乘法結果怪怪的
各位高手晚安~
小妹我剛剛在做一個矩陣乘法時,發現乘出的結果好難理解...
過程是這樣的:
H = 1e-14 * ones(4) (一個4*4, 每個元素皆為1e-14的方陣)
R = 1e-100 * eye(4) (一個對角矩陣,對角元素皆為1e-100)
t = H * H * transpose(H) + R
t = inv(t)
最後t的結果長這樣:(一個4*4矩陣, 以下結果為求乾淨只顯示到小數點後第3位)
row1: 5.629e+56 , -6.938e+24 , -6.25e+40 , -5.629e+56
row2: -6.938e+24 , 5.070e+72 , -5.629e+56 , -5.070e+72
row3: -6.25e+40 , -5.629e+56 , 4.567e+88 , -4.567e+88
row4: -5.629e+56 , -5.070e+72 , -4.567e+88 , 4.567e+88
之後我計算 H*t,
結果居然是個元素全都是0的4*4矩陣...
全都是0耶...好奇怪...看起來就不對阿
然後我嘗試只算第一項,
也就是 H(1,1)*t(1,1) + H(1,2)*t(2,1) + H(1,3)*t(3,1) + H(1,4)*t(4,1)
正解應該是 (5.629e+56 -6.938e+24 -6.25e+40 -5.629e+56) * 1e-14 ,約為-6.25e+26
但matlab跑出結果 = 0
然後我還是不死心,改變加法順序,
變成 H(1,1)*t(1,1) + H(1,4)*t(4,1) + H(1,2)*t(2,1) + H(1,3)*t(3,1)
跑出結果 = 6.1294e+26
痾.......交換加法順序結果居然不一樣! 而且都是錯的!
後來再用java算 , 結果也是錯的....
請問各位matlab高手有碰過類似的狀況嗎~~
p.s. 這些算術都沒有overflow或underflow喔~
謝謝大家!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.141.232
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1500485262.A.F65.html
推
07/20 03:24, , 1F
07/20 03:24, 1F
→
07/20 09:37, , 2F
07/20 09:37, 2F
→
07/20 09:39, , 3F
07/20 09:39, 3F
→
07/20 09:39, , 4F
07/20 09:39, 4F
推
07/20 12:23, , 5F
07/20 12:23, 5F
推
07/20 13:22, , 6F
07/20 13:22, 6F
→
07/20 16:19, , 7F
07/20 16:19, 7F
→
07/20 16:20, , 8F
07/20 16:20, 8F
→
07/20 16:21, , 9F
07/20 16:21, 9F
→
07/20 16:23, , 10F
07/20 16:23, 10F
→
07/20 16:23, , 11F
07/20 16:23, 11F
推
07/20 16:38, , 12F
07/20 16:38, 12F
→
07/20 16:40, , 13F
07/20 16:40, 13F
→
07/20 16:41, , 14F
07/20 16:41, 14F
→
07/20 17:29, , 15F
07/20 17:29, 15F
→
07/20 17:29, , 16F
07/20 17:29, 16F
→
07/20 17:29, , 17F
07/20 17:29, 17F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章