Multiply a "stack" of matrices with a "stack" of vectors
Show older comments
I have a matrix 2 x 2 x n and a vector 2 x n. So basically, I have n layers of 2 x 2 matrices and n layers of vectors with 2 entries. I d like to do a matrix-vector multiplication on each layer.
I could easily do this using a for loop, but is there a way which directly supports such an operation?
Accepted Answer
More Answers (1)
James Tursa
on 4 Mar 2014
Edited: James Tursa
on 7 Mar 2014
Some options in the FEX:
C-mex code:
C-mex code:
m-code:
You may need to reshape the 2 x n to a 2 x 1 x n for some of these methods to work.
Also this explicit m-code:
result = sum(bsxfun(@times,M,reshape(v,1,2,n)),2);
Categories
Find more on Loops and Conditional Statements 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!