gpt4 book ai didi

python - 在 NumPy 中最优雅地实现 MATLAB 的 "vec"函数

转载 作者:太空宇宙 更新时间:2023-11-03 13:00:06 24 4
gpt4 key购买 nike

在 MATLAB 中有一个称为 vec 的函数,它接受一个矩阵并将列堆叠成一个向量。例如,如果我们将以下矩阵称为“X”:

[1 2]
[3 4]

然后 vec(X) 将返回向量:

[1]
[3]
[2]
[4]

这似乎没有任何直接实现,并且“NumPy for MATLAB users”没有直接等效项。

因此,如果给定一个 numpy 数组(代表矩阵),那么用非常优雅的 NumPy 行来重现这个结果会是什么?只是想看看这可以做得多么简洁/优雅。谢谢!

最佳答案

您可以使用“Fortran”order 选项,例如reshape :

>>> import numpy as np
>>> a = np.array([[1, 2], [3, 4]])
>>> a.reshape((-1, 1), order="F")
array([[1],
[3],
[2],
[4]])

关于python - 在 NumPy 中最优雅地实现 MATLAB 的 "vec"函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25248290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com