Vector Matrix multiplication (Row wise)

Hi, I need to multiply each row of very large matrix with a row of corresponding vector. I don't really want to use for loop for that, i.e.,
N=15000;
L=rand(N,N); V=rand(N,1);
for i=1:1:N
L(i,:)=V(i)*L(i,:);
end
is it possible to do this in vectorized way?
Thank you
Erdem

 Risposta accettata

Più risposte (3)

seif seif
seif seif il 26 Gen 2018
Modificato: seif seif il 26 Gen 2018
I'd suggest a faster version than the above methods:
L = L .* v(:, ones(N,1));

2 Commenti

Could you explain that why does this indexing trick work?
Vladimir Kazei's version was significantly faster on my computer.

Accedi per commentare.

Categorie

Scopri di più su Programming in Centro assistenza e File Exchange

Richiesto:

il 16 Set 2015

Commentato:

il 17 Dic 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by