Combining 3d matrices

I have in total 4 matrices each of size (m)x(n)x(p) .. Lets say these matrices are called a,b,c and d.
I need to combine them in such a way that I would get a resulting matrix of size 2m x 2n x 2p, with the 2m coming from a and b, 2n from a and c, and 2p from a and d.
I can get the corresponding 2m x n x p and etc. using cat(1,a,b), cat (2,a,c) etc, but am unable to figure out the rest (or if this is even the right direction). Any help is appreciated.
Thanks!

Respuestas (1)

Matt J
Matt J el 2 de Abr. de 2019
Editada: Matt J el 2 de Abr. de 2019

4 votos

Your description doesn't define the new matrix well enough. The result will have 8 times as many entries, but you only have 4 matrices to draw data from, so it is not clear where all the additional entries will come from.
However, here is one of many possibilities,
L1=[a,c;b,c];
L2=[d,d;d,d];
result=cat(3,L1,L2);

3 comentarios

Prodip Das
Prodip Das el 3 de Abr. de 2019
Editada: Prodip Das el 4 de Abr. de 2019
EDIT: Sorry for the confusion, there are (have to be) 8 matrices in-fact - As correctly pointed out by you. I had to combine them (matrices a-h) in specific order - which I got by doing something as simple as
N(1:2:m*2, 1:2:n*2, 1:2:p*2) = a(:,:,:);
N(2:2:m*2, 1:2:n*2, 1:2:p*2) = b(:,:,:);
N(1:2:m*2, 2:2:n*2, 1:2:p*2) = c(:,:,:);
and so on for the rest... resulting in N being the 2mx2nx2p matrix.
Thanks!
I can remove/edit this query if this seems redundant now.
Paulo Eduardo Beiral
Paulo Eduardo Beiral el 8 de Jul. de 2021
Thank you, it helped me too!
Matt J
Matt J el 8 de Jul. de 2021
I'm glad, but if so please Accept-click the asnwer.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 2 de Abr. de 2019

Comentada:

el 8 de Jul. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by