最近在把Matlab的toolbox转到Python语言,涉及到了很多矩阵运算,经常会用到Matlab中的reshape函数,但是Python和它reshape的结果总不一致,导致我最后Python画出来的图十分怪异。
其中我发现想让三维数组reshape到二维数组的结果和Matlab一致,只需要
# 假设a是一个数组
a = a.transpose(1,2,0)
b = numpy.reshape(a,[x,x],order = 'F')
上面transpose中的‘0,1,2’分别代表了维度,[]对应0,[[]]对应1,[[[]]]对应2
MATLAB代码如下:
b = reshape(a,x,x)
以上两个b的结果一致。
本文探讨了从Matlab转换到Python进行矩阵运算时,如何通过特定的数组转置和重塑方法,使Python中numpy.reshape函数的结果与Matlab的reshape函数保持一致,尤其针对三维数组转化为二维数组的情况。
2万+

被折叠的 条评论
为什么被折叠?



