Can you index matrices?
Show older comments
Suppose I have a (n x p) matrix M. Can a "for" loop be written to partition M into a set of smaller matrices A_i where A_1 = the first r_1 rows of M, A_2 = the next r_2 rows of M, A_3 = the next r_3 rows of M,........., A_k = the last r_k rows of M where k<=n ?
I know I can index into M easily with A(i,j) being the element corresponding to the i'th row and j'th column of M. What I want to do is "pull out'' matrices from M: A_1, A_2, A_3, .... , A_k as described above. I don't want to define each matrix manually however as I would have to define thousands of sub matrices A_i !
Any help would be greatly appreciated.
Jonathan
2 Comments
Image Analyst
on 28 Jan 2013
These sentences seem contradictory: "What I want to do is "pull out'' matrices from M: A_1, A_2, A_3, .... , A_k as described above. I don't want to define each matrix manually however" So do you want separate matrices (A_1, A_2, etc.), or separate cells in a cell array (A{1}, A{2}, etc.) or not? I can tell from what you said. You said you do but in the next sentence you said you don't.
Cedric
on 28 Jan 2013
The way I understood it is that he doesn't want to write manually expressions like:
A_1 = [M(1,1),M(1,2),M(1,3); M(2,1),M(2,2),M(2,3)] ;
...
Accepted Answer
More Answers (0)
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!