How to make a m*2 matrix into n number of 2x2 matrices
3 ビュー (過去 30 日間)
古いコメントを表示
Hey,
I have, A = 208x2 matrix. I wish to to spit this matrix into 104 2x2 matrices. I have tried using num2cell and mat2cell but have had no luck. Any help would be appreicated.
Thanks.
採用された回答
その他の回答 (2 件)
KSSV
2022 年 9 月 7 日
A = rand(208,2) ;
[r,c] = size(A);
nlay = 104 ;
out = permute(reshape(A',[c,r/nlay,nlay]),[2,1,3]);
0 件のコメント
Abderrahim. B
2022 年 9 月 7 日
Split A
A = randi(10, 208, 2) ; % a mtarix of size 208x2
size(A)
B = reshape(A, 2, 2, []) ;
Access 2x2 matrices
B1 = B(:,:,1)
B2 = B(:,:,2)
Hope this helps
2 件のコメント
Stephen23
2022 年 9 月 7 日
編集済み: Stephen23
2022 年 9 月 7 日
Note that this method does not keep the 2x2 matrices of the original matrix:
A = randi(10, 208, 2)
B = reshape(A, 2,2,[]) % not the same matrices
To keep the original matrices requires taing into account the order of elements stored in memory:
B = permute(reshape(A.',2,2,[]),[2,1,3])
Abderrahim. B
2022 年 9 月 7 日
Thanks @Stephen23. But he does not mention that the order must be te same as in the original matrix!
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!