How to make a m*2 matrix into n number of 2x2 matrices
조회 수: 5 (최근 30일)
이전 댓글 표시
채택된 답변
추가 답변 (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!