matlab转置函数transpose,transpose函数可以改变numpy数组的形状

为了理解高维数据转换,我决定自己写一篇博客。

给个例题:

 

transpose是用来转置的一个函数,原先矩阵是一个三维矩阵,索引顺序是x,y,z,角标分别是0、1、2,经过上图(1,0,2)调整后就成了y,x,z。

对于这个例子

0角标对应表示2个矩阵;

1角标对应表示每个矩阵有2行;

2角标对应表示每个矩阵有4列。

当1(或2)角标与0角标交换时,新建一个矩阵,将0角标作为行,1(或2)角标作为列。构成一个新矩阵(2,2):

 121[0,1,2,3][4,5,6,7]2[8,9,10,11][12,13,14,15]

对应图中矩阵:

其中矩阵中的每个元素为一个(1,4)的矩阵。然后对这个矩阵进行转置得到:

 

 121[0,1,2,3][8,9,10,11]2[4,5,6,7][12,13,14,15]

所以转后的矩阵为:

如何1角标和2角标交换,那么就直接子矩阵转置就好了。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注