divide the matrix to blocks

I need to divide matrix to blocks have size (1*3) how can write (for loop) to get blocks as the following example
matrix = [1 4 3 5 7 1;4 2 1 5 4 7;8 0 1 4 5 6] I need first block = [1 4 3] second block = [5 7 1] third block = [4 2 1]
and so on

 Réponse acceptée

Matt J
Matt J le 25 Avr 2013

0 votes

5 commentaires

Matt J
Matt J le 25 Avr 2013
Modifié(e) : Matt J le 25 Avr 2013
In your case, it would apply as follows,
result=mat2tiles(yourMatrix,[1,3]);
Aseel H
Aseel H le 25 Avr 2013
it is OK, but how i can deal with the values of each cell
by meanning, I need to make some operation on the first values of all cells as multiple it by constant as 4 i.e the first cell will become = 4,4,3 the second cell will become = 20,7,1 and so on
Matt J
Matt J le 25 Avr 2013
It was never necessary to split the matrix into blocks, for that. All you needed to do was
matrix(:,1:3:end) = 4*matrix(:,1:3:end);
For more complicated things, you can use the CELLFUN command, or BLOCKPROC.
Aseel H
Aseel H le 26 Avr 2013
No, I can not use matrix(:,1:3:end) = 4*matrix(:,1:3:end); because I need deal with values of each block alone,for example
X = [5 6 4 7 9 8;5 0 1 4 7 3];
after that: cell1 = [5,6,4] cell2 = [7,9,8] and do on
After that will be execute some operations on the values of each individual cell, according to some conditions if they apply to the three values in each cell or not
In other words how I call on the values of each cell
The first value of cell one the second value of cell one ......... etc
Matt J
Matt J le 26 Avr 2013

Connectez-vous pour commenter.

Plus de réponses (1)

Aseel H
Aseel H le 25 Avr 2013
Modifié(e) : Matt J le 25 Avr 2013

0 votes

Deleted by Matt J

Community Treasure Hunt

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

Start Hunting!

Translated by