extract submatrix from a large matrix using loop

5 Ansichten (letzte 30 Tage)
Sophi gra
Sophi gra am 18 Jul. 2016
Kommentiert: Matt J am 18 Jul. 2016
Dear friends, I have a matrix 1140 by 330. I have to split the matrix into 60 matrices with the size of 19*330 using a for loop. does any one know how to do that?

Akzeptierte Antwort

Matt J
Matt J am 18 Jul. 2016
You can use MAT2TILES ( Download ). For example,
A=rand(1140,330);
C=mat2tiles(A,[19,330]);
  2 Kommentare
Sophi gra
Sophi gra am 18 Jul. 2016
Bearbeitet: Sophi gra am 18 Jul. 2016
if i want to calculate the correlation coefficient, does it calculate it seperately? I use corrcoef(C), and I got error!
Matt J
Matt J am 18 Jul. 2016
Yes, you can do
cellfun(@corrcoef,C,...)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Andrei Bobrov
Andrei Bobrov am 18 Jul. 2016
A=rand(1140,330);
out = permute(reshape(A',size(A,2),60,[]),[2,1,3]);

Guillaume
Guillaume am 18 Jul. 2016
m = rand(1140, 330); %demo matrix
splitm = mat2cell(m, ones(1, 60) * 19, 330)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by