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

More Answers (3)

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

2 Comments

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

Sign in to comment.

Categories

Asked:

on 16 Sep 2015

Commented:

on 17 Dec 2024

Community Treasure Hunt

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

Start Hunting!