作者icene (kkk)
看板MATLAB
標題Re: 請教矩陣相乘
時間Wed Sep 14 21:41:27 2005
: A = [1 2
: 3 4 ]
:
: B = [0.3 0.5]
:
: 想要有個矩陣 C = [1*0.3 2*0.5
: 3*0.3 4*0.5]
:
: 怎麼做比較好
:
: 我知道可以用 B = repmat(B,2,1) 把B變成 B = [0.3 0.5
: 0.3 0.5 ]
:
: 再用A.*B 但是因為A矩陣列數很多,不想把B弄成很大的矩陣,會浪費記憶體
:
: 有直接的算法求出C嗎?
:
: 推 Ysen:轉成陣列運算完在轉回矩陣.. 140.113.156.55 09/14
: 推 wolako:C=[A(:,1)*B(1),A(:,2)*B(2)] 140.129.65.184 09/14
: 推 Ysen:推上面@@,我怎麼沒想到呢..XD 140.113.156.55 09/14
==========================================================================
樓上大大的作法很不錯,不過如果A是100 x 100矩陣
B是 1 x 100矩陣 ,結果還是要用迴圈寫吧
這樣不會比把B擴大成100 x 100,再和A相乘有效率吧
那Ysen大大的作法是怎樣呢
可以說清楚一點嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.91.70.233
推 jimpeng:照現在的PC 為什麼會有擔心浪費記憶體的考慮? 203.70.99.160 09/14
推 icene:因為跑模擬 有125個類別,每個要10萬次 219.91.70.233 09/14
→ icene:如果太多個125 x 10萬矩陣變數,會當掉,我試過 219.91.70.233 09/14
推 Ysen:我的弄到後來會跟妳上面敘述的差不多.. 220.135.248.30 09/15