Element-wise multiplication of a 3D matrix KxLxM by a 1D vector M
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Pim Hacking
el 18 de Sept. de 2020
Comentada: Pim Hacking
el 21 de Sept. de 2020
Hi all,
the title might be a bit confusing, but I don't know how to properly word this. I want to use matlab's fast matrix multiplications, however I can't figure out how to do it. The following code achieves the desired result with for loops. Any ideas on how to optimize for speed? I'll need to do this on quite large matrices.
Thanks in advance!
K = 2;
L = 10;
M = 13;
A = rand(K,L,M);
B = rand(M,1);
C = zeros(K,L,M);
for k = 1:K
for l = 1:L
C(k,l,:) = squeeze(A(k,l,:)).*B;
end
end
0 comentarios
Respuesta aceptada
Más respuestas (1)
KSSV
el 18 de Sept. de 2020
Anew = reshape(A,K*L,[]) ;
Cnew = Anew.*B' ;
Cnew = reshape(Cnew,K,L,[]) ;
0 comentarios
Ver también
Categorías
Más información sobre Mathematics and Optimization en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!