Matrix multiplication between 2d matrix and slice of 3d array
    4 次查看(过去 30 天)
  
       显示 更早的评论
    
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 个评论
采纳的回答
  Athul Prakash
    
 2020-1-1
        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 个评论
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

