How do i do Matrix reordering (cutting into blocks)?

Say i have a matrix
A=[1 5 9 13 17 21.....
2 6 10 14 18 22......
3 7 11 15 19 23
4 8 12 16 20 24 .......]
And want to bring that into this shape
A_=[1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
17 21 25 29
18 22 26 30
.....................]
Essentially cutting the above matrix into 4*4 and then continuing to the right and bring it down in to the new matrix.How do i do this?thank you

 Respuesta aceptada

James Tursa
James Tursa el 8 de Mayo de 2019
Editada: James Tursa el 8 de Mayo de 2019
It's not exactly clear what the actual size of your matrix is (maybe you could clarify), but for what you have posted maybe this is what you want:
result = [A(:,1:4);A(:,5:8)];
EDIT:
Based on your comment below, it would be simpler to reshape the cell array first before you use cell2mat. E.g.,
A = [1 1 0 0 ; 1 1 1 0 ; 0 1 2 0; 1 0 0 1];
Q = cell2mat(arrayfun(@(i) A^i, (1:3)', 'Uni', false)); % transpose the 1:3

2 comentarios

ManvsMachine
ManvsMachine el 8 de Mayo de 2019
Editada: ManvsMachine el 8 de Mayo de 2019
Actually what i am trying to do is
A = [1 1 0 0 ; 1 1 1 0 ; 0 1 2 0; 1 0 0 1];
Q = cell2mat(arrayfun(@(i) A^i, 1:3, 'Uni', false));
size(Q)%4*12 matrix
instead of manually doing , i would like to have reshape or similar command shape this matrix. into
[A
A^2]
A^3]
format
ManvsMachine
ManvsMachine el 8 de Mayo de 2019
Thankyou very much,appreciate your time

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Preguntada:

el 8 de Mayo de 2019

Comentada:

el 8 de Mayo de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by