extract submatrix from a large matrix using loop

1 vue (au cours des 30 derniers jours)
Sophi gra
Sophi gra le 18 Juil 2016
Commenté : Matt J le 18 Juil 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?

Réponse acceptée

Matt J
Matt J le 18 Juil 2016
You can use MAT2TILES ( Download ). For example,
A=rand(1140,330);
C=mat2tiles(A,[19,330]);
  2 commentaires
Sophi gra
Sophi gra le 18 Juil 2016
Modifié(e) : Sophi gra le 18 Juil 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 le 18 Juil 2016
Yes, you can do
cellfun(@corrcoef,C,...)

Connectez-vous pour commenter.

Plus de réponses (2)

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

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

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by