3D Matrix Multiplication

56 visualizaciones (últimos 30 días)
Rahul Marwaha
Rahul Marwaha el 24 de Feb. de 2021
Comentada: Masoud Aminzadeh el 6 de Ag. de 2023
Hi I have created two large matrices of which I have reshaped to create the following:
A = 3x1x4 double
B = 3x3x4 double
C = B * A ????
I was wondering how I could multiply each 3x3 matrix from B with each 3x1 matrix from A? The aim is to create a new 3x1x4 matrix in the end. Note: I don't have R2020b so don't have access to the pagemtimes function.
Any help is greatly appreciated, thanks!

Respuesta aceptada

the cyclist
the cyclist el 24 de Feb. de 2021
Editada: the cyclist el 24 de Feb. de 2021
You can do it straightforwardly with a for loop:
% Some made-up input data
A = rand(3,1,4);
B = rand(3,3,4);
[mA,nA,pA] = size(A);
[mB,nB,pB] = size(B);
C = zeros(mB,nA,pA);
for np = 1:pA
C(:,:,np) = B(:,:,np) * A(:,:,np);
end
  1 comentario
Rahul Marwaha
Rahul Marwaha el 25 de Feb. de 2021
Thanks, that worked perfectly!

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 24 de Feb. de 2021

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by