概述:将将二维矩阵每行顺序不变依次向左复制和三维矩阵按横切页(垂直于纸面且)向右展开为2维其中的主要计算方法一致,所以放在一起说明。复制的主要要点是将二维矩阵扩展为三维>>>展开三维矩阵。
一、横向展开(复制)
1、生成一个2*3*4的三维矩阵
a=[1 2 3;4 5 6];
a=repmat(a,1,1,4)
得到的矩阵为
a(:,:,1)=a(:,:,2)=a(:,:,3)=[1 2 3
4 5 6]
2、使用b=shiftdim(a,2)对三维矩阵进行轮换变换,即从r行、c列、p页变成p行、r列、c页的矩阵。
得到
3、使用c=rot90(b,270),对b逆时针旋转90度
得
4、使用d=reshape(c,2,8)进行变换
得到
即按照对页面切片展开了。
5、总结。
对于二维矩阵a(r,c)复制可分为四步
1、A=repmat(A,1,1,p)
对于矩阵A(r,c,p)展开可分为三步
2、B=shiftdim(A,2)
3、C=rot90(B,270)
4、D=reshape(C,r,c*p)
二、纵向展开(复制)
1、A=repmat(A,1,1,p)
对于矩阵A(r,c,p)展开可分为三步
2、B=reshape(A,r*c,p)
声明:本文为本人原创,未经本人同意不得转载