How to reshape an array into 3 different matrix with different sizes?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I want to reshape A into 3 matrices m1,m2,m3:
A=[1 2 3 4 5 6 7 8 9 4 5 3 5 3 2 5 4 2 4 7 5 ];
m1=-9999*ones(3,3);
m2=-9999*ones(2,2);
m3=-9999*ones(2,4);
the result should look like:
m1=[1 2 3 ;4 5 6 ;7 8 9];
m2=[4 5 ;3 5];
m3=[3 2 5 4; 2 4 7 5];
1 comentario
David Young
el 19 de Nov. de 2014
"Reshape" normally means to change the shape but keep the same number of elements. Here, though, all the matrices have different numbers of elements. Please could you define the operation you need more exactly?
Respuesta aceptada
Shane
el 19 de Nov. de 2014
It looks like you just want to split the array up.
A=[1 2 3 4 5 6 7 8 9 4 5 3 5 3 2 5 4 2 4 7 5 ];
subData1 = A(1:9);
subData1 = reshape(subData1, [3 3]);
subData2 = A(10:13);
subData2 = reshape(dubData2, [2 2]);
subData3 = A(14:21);
subData3 = reshape(subData3, [ 4 4]);
This is all manually mind you. If your data structure will change dynamically you will want to try something different.
0 comentarios
Ver también
Categorías
Más información sobre Graphics Object Programming 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!