MATLAB: Reshaping a a matrix

reshape

Good evening, I have the following question pleas suppose I hava a matrix: [1 2 3 4 5 6 ; 7 8 9 10 11 12] (2*6) i want to reshape it to get the following matrix [1 2 7 8; 3 4 9 10 ; 5 6 11 12](3*4) Thank you in advance

Best Answer

a=[1 2 3 4 5 6 ; 7 8 9 10 11 12]
[n,m]=size(a);
b=reshape(a',m,1,[]);
c=permute(reshape(b,2,[],size(b,3)),[2 1 3]);
out=c(:,:)
%or
a=[1 2 3 4 5 6 1 0; 7 8 9 10 11 12 44 55] ;
b=permute(reshape(a',2,size(a,2)/2,[]),[2 1 3]);
out=b(:,:)