M is matrix of 2010x1300
how do i form 201 cells of 10x1300 using mat2cell?

 Accepted Answer

Star Strider
Star Strider on 31 Oct 2017
This works:
M = randn(2010, 1300);
C = mat2cell(M, 201*ones(1,10), 1300);
See the documentation for an explanation.

4 Comments

Joseph Lee
Joseph Lee on 31 Oct 2017
This produced 10 cells of 201x1300 instead of 201 cells of 10x1300
Misread the Question.
Easily fixed:
M = randn(2010, 1300);
C = mat2cell(M, 10*ones(1,201), 1300);
Joseph Lee
Joseph Lee on 31 Oct 2017
thanks!
Star Strider
Star Strider on 31 Oct 2017
My pleasure!
Since my Answer solves the problem you originally posted, please Accept it!

Sign in to comment.

More Answers (1)

M
M on 31 Oct 2017
Maybe not the easiest solution, but try something like :
j=1;
for i=1:10:201
A{j}=M(i:i+9,:);
j=j+1;
end

1 Comment

Your solution worked but without the 10
for i=1:201
A{j}=M(i:i+9,:);
j=j+1;
end

Sign in to comment.

Categories

Tags

Community Treasure Hunt

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

Start Hunting!