2011-10-22 20 views

risposta

35

È possibile replicare il vettore tutte le volte che è necessario trasformarlo in una matrice m x n come bene e quindi utilizzare il built-in elemento-saggio operatore di moltiplicazione .*:

>> 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

Credo che ora Octave lo faccia automaticamente (lo chiamano "trasmissione"). Per impostazione predefinita, riceverai un avviso. – nobar

3

Non ho provato La risposta di Anna Lear, ma come ha commentato nobar in quella risposta, Octave ora trasmette. Quindi devi solo fare A. * B. Riceverai un avviso che dirà che è in corso l'applicazione di una trasmissione di prodotto automatica

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

1 2 
6 8 
15 18 
Problemi correlati