How to convert 2d matrix to 4d matrix?
13 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Abdel-Rahman Ashraf
el 18 de Mayo de 2020
Comentada: Ameer Hamza
el 18 de Mayo de 2020
If I have a 4*4 matrix like this
a=[30,31;32,33]; % a can be more than 2d array
b=[40,41;42,43]; % b can be more than 2d array
c=[50,51;52,53]; % c can be more than 2d array
d=[60,61;62,63]; % d can be more than 2d array
X=[1,2,3,a;5,6,b,8;c,10,11,12;d,14,15,16];
how to convert it to, in this case, to 4*4*2*2 where X(1,4,1,1)=30, X(1,4,1,2)=31,X(1,4,2,1)=32,X(1,4,2,2)=33, X(2,3,1,1)=40,X(2,3,1,2)=41,X(2,3,2,1)=42,X(2,3,2,2)=43 and so on?
0 comentarios
Respuesta aceptada
Ameer Hamza
el 18 de Mayo de 2020
Editada: Ameer Hamza
el 18 de Mayo de 2020
Are you looking for something like this
a=[30,31;32,33]; % a can be more than 2d array
b=[40,41;42,43]; % b can be more than 2d array
c=[50,51;52,53]; % c can be more than 2d array
d=[60,61;62,63]; % d can be more than 2d array
X = cat(3, a, b, c, d);
Or maybe this
a=[30,31;32,33]; % a can be more than 2d array
b=[40,41;42,43]; % b can be more than 2d array
c=[50,51;52,53]; % c can be more than 2d array
d=[60,61;62,63]; % d can be more than 2d array
X(1,4,:,:) = a;
X(2,3,:,:) = b;
X(3,2,:,:) = c;
X(4,1,:,:) = d;
Result
>> size(X)
ans =
4 4 2 2
4 comentarios
Más respuestas (1)
Sulaymon Eshkabilov
el 18 de Mayo de 2020
Editada: Sulaymon Eshkabilov
el 18 de Mayo de 2020
It is going to be something like that:
X(:,:,:,1)=a;
X(:,:,:,2)=b;
X(:,:,:,3)=c;
X(:,:,:,4)=d;
1 comentario
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!