在 Matlab 中,对于 matrix(m,n) 等效的 matrix(:) ,冒号,在 python

In Matlab for a matrix(m,n) equivalent matrix(:) , colon, in python

我需要从 python 中的 A(:) 的 matlab 中找到等价物。其中 A 是矩阵 (m,n):

例如:

A =

 5     6     7
 8     9    10

A(:)

答案=

 5
 8
 6
 9
 7
10

提前致谢!

您可以通过使用 numpy.reshape

重塑数组来实现

https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.reshape.html

import numpy
m = numpy.array([[ 5, 6, 7 ], [ 8, 9, 10 ]])
print(numpy.reshape(m, -1, 'F'))

如果您想要列优先结果(以匹配 Matlab 约定),您可能想要使用 numpy 矩阵的转置,然后使用 ndarray.ravel() 方法:

m = numpy.array([[ 5, 6, 7 ], [ 8, 9, 10 ]])
m.T.ravel()

给出:

array([ 5,  8,  6,  9,  7, 10])