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!

Réponses (1)

Matt J
Matt J le 2 Avr 2019
Modifié(e) : Matt J le 2 Avr 2019

4 votes

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 commentaires

Prodip Das
Prodip Das le 3 Avr 2019
Modifié(e) : Prodip Das le 4 Avr 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 le 8 Juil 2021
Thank you, it helped me too!
Matt J
Matt J le 8 Juil 2021
I'm glad, but if so please Accept-click the asnwer.

Connectez-vous pour commenter.

Catégories

Commenté :

le 8 Juil 2021

Community Treasure Hunt

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

Start Hunting!

Translated by