2011-10-22 92 views

回答

35

,因爲你需要把它變成一個m x n矩陣以及再利用可以複製的載體多次內置的逐元素乘法運算.*

>> A = [1 2; 3 4; 5 6]; 
>> B = [1; 2; 3]; 

>> A .* repmat(B, 1, columns(A)) 
ans = 

    1 2 
    6 8 
    15 18 
+2

我相信,Octave現在會自動做到這一點(他們稱之爲「廣播」)。默認情況下,您將收到警告。 – nobar

3

我沒試過安娜李爾的回答,但作爲nobar評論這個答案,八度現在做廣播。所以你只需要做A. * B。你會得到一個警告,會說自動產品廣播正在應用

>> A.*B 
warning: product: automatic broadcasting operation applied 
ans = 

1 2 
6 8 
15 18