How to reshape an array into 3 different matrix with different sizes?
Mostra commenti meno recenti
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 Commento
David Young
il 19 Nov 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?
Risposta accettata
Più risposte (1)
After the lines you've shown with m123=-9999*ones(...) do the following
m1(:)=A(1:9);
m2(:)=A(10:13);
m3(:)=A(14:end);
and transpose as needed.
Categorie
Scopri di più su Structures in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!