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

1 件のコメント

Cedric
Cedric 2013 年 4 月 25 日
What have you tried so far?

サインインしてコメントする。

 採用された回答

Matt J
Matt J 2013 年 4 月 25 日

0 投票

5 件のコメント

Matt J
Matt J 2013 年 4 月 25 日
編集済み: Matt J 2013 年 4 月 25 日
In your case, it would apply as follows,
result=mat2tiles(yourMatrix,[1,3]);
Aseel H
Aseel H 2013 年 4 月 25 日
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 2013 年 4 月 25 日
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 2013 年 4 月 26 日
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 2013 年 4 月 26 日

サインインしてコメントする。

その他の回答 (1 件)

Aseel H
Aseel H 2013 年 4 月 25 日
編集済み: Matt J 2013 年 4 月 25 日

0 投票

Deleted by Matt J

質問済み:

2013 年 4 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by