Split a matrix into smaller pieces - help

Hi guys, I have a 16x36 matrix and I want to divide it into 4x36 submatrixes. I used reshape(matrix,4,[],4) but the order of elements got wrong. Any ideas?
Best regards,

 Risposta accettata

Matt Fig
Matt Fig il 10 Set 2012
Modificato: Matt Fig il 10 Set 2012
A = reshape(1:36*16,16,36);
B = mat2cell(A,[4 4 4 4],36);
Now you have each submatrix stored in a cell of B. For example, B{1} is:
B{1}

3 Commenti

Itachi
Itachi il 10 Set 2012
Modificato: Itachi il 10 Set 2012
Thanks, but I want sth like the reshape function to give me var(: , : , i) for each 4x36 matrix. Is there any other way?
Best regards,
Matt Fig
Matt Fig il 10 Set 2012
Modificato: Matt Fig il 10 Set 2012
With A as above:
B = permute(reshape(A.',36,4,4),[2,1,3])
Itachi
Itachi il 10 Set 2012
Modificato: Itachi il 11 Set 2012
Thanks.

Accedi per commentare.

Più risposte (0)

Categorie

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by