Group all the columns every N rows
1 回表示 (過去 30 日間)
古いコメントを表示
Hi everyone,
i have an array like this:
A
0.5 0.4 0.5
0.9 0.3 0.5
0.5 0.5 0.1
0.5 0.4 0.2
0.9 0.8 0.2
0.3 0.5 0.2
and i want to create a cell arrays like these (group all the columns every N rows, with N=2):
{A1}
0.5 0.4 0.5
0.9 0.3 0.5
{A2}
0.5 0.5 0.1
0.5 0.4 0.2
{A3}
0.9 0.8 0.2
0.3 0.5 0.2
How can i do it?
Thank you very much!
0 件のコメント
採用された回答
madhan ravi
2019 年 1 月 24 日
編集済み: madhan ravi
2019 年 1 月 24 日
Your way:
N=2;
A=mat2cell(a,repelem(N,size(a,1)/N));
celldisp(A)
0 件のコメント
その他の回答 (1 件)
madhan ravi
2019 年 1 月 24 日
編集済み: madhan ravi
2019 年 1 月 24 日
One way:
N=2;
[~,c]=size(A);
U=reshape(A',c,N,[]);
R=permute(U,[2 1 3])
4 件のコメント
madhan ravi
2019 年 1 月 29 日
I see you have asked another question regarding this issue but here is one solution:
N=4;
[m,c]=size(A);
U=reshape(A',m,[],N);
R=permute(U,[1 3 2]);
BB=reshape(R,N,[],1)'
参考
カテゴリ
Help Center および File Exchange で Matrices and Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!