[問題]矩陣相加沒有交換率
小弟是新手 想運用矩陣相加的方式來計算
但不知道為什麼矩陣相加後應該為零 但卻出現很小很小的數字
首先 我用了迴圈的方式 以下是我的寫法
Q1=[6.65 5.05 4.5; 5.05 6.65 0; 4.5 0 5.15];
Q2=[6.65 5.05 -4.5; 5.05 6.65 0; -4.5 0 5.15];
Q=[Q1;Q2;Q2;Q1];
h=[-0.3 -0.15 0 0.15 0.3];
B=zeros(3,3);
for i=1:4;
B=1/2.*Q(1+3*(i-1):3+3*(i-1),1:3).*((h(i+1)).^2.-(h(i)).^2.)+B;
end
照理來說 B矩陣應該會為零 可是出現了很小的數字
所以我就把迴圈拆開 一個一個相加如下
F=Q(1+(3*(1-1)):3+(3*(1-1)),:)*((h(1+1)).^2.-(h(1)).^2.);
G=Q(1+(3*(2-1)):3+(3*(2-1)),:)*((h(2+1)).^2.-(h(2)).^2.);
H=Q(1+(3*(3-1)):3+(3*(3-1)),:)*((h(3+1)).^2.-(h(3)).^2.);
I=Q(1+(3*(4-1)):3+(3*(4-1)),:)*((h(4+1)).^2.-(h(4)).^2.);
P=F+G+H+I
SS=F+H+G+I
但卻發現SS為零矩陣 但P不是
P =
1.0e-16 *
0.555111512312578 0 0
0 0.555111512312578 0
0 0 0
非常詭異的問題
請問一下這要如何解決 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 165.91.12.56
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1424288984.A.821.html
推
02/19 07:10, , 1F
02/19 07:10, 1F
→
02/19 07:10, , 2F
02/19 07:10, 2F
→
02/19 07:10, , 3F
02/19 07:10, 3F
※ 編輯: abudurahim (165.91.12.56), 02/19/2015 07:21:59
→
02/19 07:22, , 4F
02/19 07:22, 4F
推
02/19 08:56, , 5F
02/19 08:56, 5F
推
02/20 03:25, , 6F
02/20 03:25, 6F
→
02/20 03:25, , 7F
02/20 03:25, 7F
→
02/20 03:25, , 8F
02/20 03:25, 8F
推
02/22 12:53, , 9F
02/22 12:53, 9F
→
02/22 12:54, , 10F
02/22 12:54, 10F
推
02/22 12:58, , 11F
02/22 12:58, 11F
→
02/22 12:59, , 12F
02/22 12:59, 12F
→
02/22 12:59, , 13F
02/22 12:59, 13F
→
02/22 13:00, , 14F
02/22 13:00, 14F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章