How to multiplay matrices in different dimensions?

I would like to multiply a 3D matrice with a 2D matrice.

1 comentario

Jan
Jan el 6 de Jun. de 2019
Then do this. Remember that this operation is not defined mathematically, so you have to explain which result you want. Do you mean a matrix multiplication, or an elementwise product?

Iniciar sesión para comentar.

 Respuesta aceptada

Jan
Jan el 6 de Jun. de 2019
Editada: Jan el 6 de Jun. de 2019
Perhaps:
a = rand(2,2,3);
b = [2, 2; 4, 4]
% Elementwise - auto-expanding since R2016b:
r = a .* b
% Matrix multiplication:
r = zeros(2, 2, 3);
for k = 1:3
r(:, :, k) = a(:, :, k) * b;
end
If the later is wanted, you can vectorize the code or use some tools from the FileExchange to avoid the loop.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 6 de Jun. de 2019

Comentada:

el 10 de Jun. de 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by