gpt4 book ai didi

python - 在 Numpy 中遍历二维线?

转载 作者:太空狗 更新时间:2023-10-30 01:08:41 25 4
gpt4 key购买 nike

我正在尝试做 linear combination在 Numpy 中获取两点之间的向量遍历,但我这样做的方式非常可怕。

import numpy as np
a=np.array([1,2])
b=np.array([3,4])
t=np.linspace(0,1,4)
c=(np.asarray([t*a[0],t*a[1]])+np.asarray([(1-t)*b[0],(1-t)*b[1]])).T
print c

正在输出

[[ 3.          4.        ]
[ 2.33333333 3.33333333]
[ 1.66666667 2.66666667]
[ 1. 2. ]]

有没有更好的方法(当然是高效的)?

最佳答案

如果您在 t 数组末尾添加一维大小,广播将处理细节:

>>> a=np.array([1,2])
>>> b=np.array([3,4])
>>> t=np.linspace(0,1,4)
>>> t[..., None] * a + (1 - t[..., None]) * b
array([[ 3. , 4. ],
[ 2.33333333, 3.33333333],
[ 1.66666667, 2.66666667],
[ 1. , 2. ]])

关于python - 在 Numpy 中遍历二维线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20008560/

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