How to make a m*2 matrix into n number of 2x2 matrices

1 Ansicht (letzte 30 Tage)
Dyl
Dyl am 7 Sep. 2022
Kommentiert: Stephen23 am 8 Sep. 2022
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.

Akzeptierte Antwort

Stephen23
Stephen23 am 7 Sep. 2022
A = rand(208,2);
C = mat2cell(A,2*ones(104,1),2)
C = 104×1 cell array
{2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double}
  6 Kommentare
Stephen23
Stephen23 am 8 Sep. 2022
M = reshape(M,8,13).'

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

KSSV
KSSV am 7 Sep. 2022
A = rand(208,2) ;
[r,c] = size(A);
nlay = 104 ;
out = permute(reshape(A',[c,r/nlay,nlay]),[2,1,3]);

Abderrahim. B
Abderrahim. B am 7 Sep. 2022
Split A
A = randi(10, 208, 2) ; % a mtarix of size 208x2
size(A)
ans = 1×2
208 2
B = reshape(A, 2, 2, []) ;
Access 2x2 matrices
B1 = B(:,:,1)
B1 = 2×2
5 7 9 6
B2 = B(:,:,2)
B2 = 2×2
8 8 4 1
Hope this helps
  2 Kommentare
Abderrahim. B
Abderrahim. B am 7 Sep. 2022
Thanks @Stephen23. But he does not mention that the order must be te same as in the original matrix!

Melden Sie sich an, um zu kommentieren.

Kategorien

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by