extract submatrix from a large matrix using loop

1 回表示 (過去 30 日間)
Sophi gra
Sophi gra 2016 年 7 月 18 日
コメント済み: Matt J 2016 年 7 月 18 日
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?

採用された回答

Matt J
Matt J 2016 年 7 月 18 日
You can use MAT2TILES ( Download ). For example,
A=rand(1140,330);
C=mat2tiles(A,[19,330]);
  2 件のコメント
Sophi gra
Sophi gra 2016 年 7 月 18 日
編集済み: Sophi gra 2016 年 7 月 18 日
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 2016 年 7 月 18 日
Yes, you can do
cellfun(@corrcoef,C,...)

サインインしてコメントする。

その他の回答 (2 件)

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

Guillaume
Guillaume 2016 年 7 月 18 日
m = rand(1140, 330); %demo matrix
splitm = mat2cell(m, ones(1, 60) * 19, 330)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by