Matrix-vector multiplication vectorization
Show older comments
Dear All, I have a simple 3*3 matrix(A) and large number of 3*1 vectors(v) that I want to find A*v multiplication for all of the v vectors. Instead of using "for" loop which takes so much time, how can I vectorize the matrix multiplication? Example: A=[1 2 3;4 5 6;7 8 9]; v=[1 2 3; 4 5 6; 7 8 9;10 11 12;13 14 15] (5 set of 3*1 vectors)
Accepted Answer
More Answers (1)
John D'Errico
on 30 Aug 2016
Edited: John D'Errico
on 30 Aug 2016
If you are storing tham in a 5x3 array, then they are 1x3 vectors, not 3x1. There is a difference.
Anyway,
A*v'
Won't work? Did you try it? If you insist on having the result be transposed again, then you could do it as:
(A*v')'
or you might recognize that this is the same as
v*A'
As long as all arrays are real. If they are complex, then becareful, as ' and .' are different operators, and you need to know which is correct.
Categories
Find more on Logical 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!