Matrix multiplication between 2d matrix and slice of 3d array
2 views (last 30 days)
Show older comments
Morten Nissov
on 27 Dec 2019
Answered: Athul Prakash
on 1 Jan 2020
I have two matrices A (3,3,x) and B (3,3) where x is a variable, known value and typically on the order of thousands. I need to compute the matrix multiplication of these two, I know this can be done by
function [ out ] = mat_mult( A,B )
[~,~,np] = size(A);
out = zeros(size(A));
for i=1:np
out(:,:,i) = A(:,:,i)*B;
end
end
but I figure there is a more efficient way to do this than for loops, especially for MATLAB. Unforunately, I am not quite sure how to vectorize this.
0 Comments
Accepted Answer
Athul Prakash
on 1 Jan 2020
Hey Morten,
You can check out 'MULTIPROD' - from File Exchange (linked below). It covers your requirements exactly,
( Please note that tools available on File Exchange are provided by the community and not created by Mathworks. The Mathworks does not provide any guarantees for such tools.)
0 Comments
More Answers (0)
See Also
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!