2011-12-27 141 views
4

對不起,如果問題很混亂,但我會在這裏說清楚。什麼我希望做的是: 假設我們有一個載體(或1×N個矩陣)A = A1 A2 A3 A4]和另一個B = [B1,B2,B3] 我想C至是:將矩陣中的每個點乘以另一個矩陣,並在每次乘法運算中形成一個新的矩陣,在matlab中

[a1*b1 a1*b2 a1*b3 
    a2*b1 a2*b2 a3*b3 
    a3*b1 a3*b2 a3*b3 
    a4*b1 a4*b2 a4*b3] 

是否有一個命令,將在matlab中這樣做?我已經在for循環中完成了它,但考慮到循環被調用的次數,如果我可以在不使用for循環的情況下編寫它,它將節省大量的運行時間。

回答

3

是的。它是用正則矢量乘法完成的,被稱​​爲outer product。您需要做的就是將列向量與行向量相乘,在這種情況下爲A.' * B。請注意,A轉置爲使其成爲列向量(根據定義,您是一個行向量)。

+0

完美的工作!謝謝 :) – patokun 2011-12-27 21:18:16

相關問題