matrix and vector multiplication without for loop
Show older comments
Hi, I have 3 matrices "X" is m x n matrix and "Y" is m x 1 column vector, I want to multiply each column of X by the vector Y and calculate the sum of each multiplied column and put them in column vector "G" which is n x 1. Is there any way to do this without using for loops (vectorized solution) ?
Answers (2)
Roger Stafford
on 23 Nov 2013
G = X.'*Y;
1 Comment
Harry MacDowel
on 23 Nov 2013
This is so cool! Nice hack!
Azzi Abdelmalek
on 23 Nov 2013
Edited: Azzi Abdelmalek
on 23 Nov 2013
n=4;
m=3;
X=rand(m,n); % Example
Y=rand(m,1);
G=sum(bsxfun(@times,X,Y))'
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!