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

 Risposta accettata

Star Strider
Star Strider il 31 Ott 2017

1 voto

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

4 Commenti

Joseph Lee
Joseph Lee il 31 Ott 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 il 31 Ott 2017
thanks!
Star Strider
Star Strider il 31 Ott 2017
My pleasure!
Since my Answer solves the problem you originally posted, please Accept it!

Accedi per commentare.

Più risposte (1)

M
M il 31 Ott 2017

1 voto

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 Commento

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

Accedi per commentare.

Categorie

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by