[問題] 迴圈算矩陣相乘已回收

看板MATLAB作者 (大生!)時間16年前 (2009/10/25 02:21), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
我想利用迴圈的方式寫矩陣相乘 用方法一 a=[1 2 3;4 5 6;7 8 9]; b=[10 11 12;13 14 15;16 17 18]; for i=1:1:3 for j=1:1:3 for k=1:1:3 c(i,j)=a(i,k)*b(k,j); end end end 在c的下面會出現黃色線 然後跑出來的結果不對 但是用方法二 c=[]; a=[1 2 3;4 5 6;7 8 9]; b=[10 11 12;13 14 15;16 17 18]; for i=1:1:3 for j=1:1:3 c(i,j)=a(i,:)*b(:,j); end end 在c的下面還是會出現黃色線 但是跑出來的結果是對的 這兩個表示的東西不是一樣的嗎?還是說不一樣? 想麻煩版上的大大幫我解惑一下 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.155.216

10/25 02:54, , 1F
把滑鼠移到黃色線, 看它會告訴你什麼 (多半是 c的大小會隨迴圈)
10/25 02:54, 1F

10/25 02:55, , 2F
方法一是錯的, 你自己去想像一下, k從 1到三, ij 都不變的話
10/25 02:55, 2F

10/25 02:57, , 3F
c(i,j) 會怎麼樣?
10/25 02:57, 3F

10/25 03:13, , 4F
謝謝 我知道錯在哪了
10/25 03:13, 4F
文章代碼(AID): #1AuqMPyx (MATLAB)
文章代碼(AID): #1AuqMPyx (MATLAB)