如何将numpy数组的向量输入到等式中?

时间:2017-11-02 18:53:00

标签: arrays python-3.x numpy vector

假设我有5个向量的numpy数组且维度无关紧要,我想将它们输入到等式中,但仅在每对向量之间输入,例如 1和2, 1和3, 1和4, 1和5, 2和3, 等等等等。我怎么能在python中这样做?例如,如果我想找到两个向量中的每个向量之间的差异?如果不手动完成每一个,我该怎么做?你的答案可以扩展到100个向量吗?

1 个答案:

答案 0 :(得分:0)

使用broadcasting,即将矢量放在不同的维度中:

ten_vectors=np.random.rand(10,2)

ten_vectors_x=ten_vectors.reshape(10,1,2)
ten_vectors_y=ten_vectors.reshape(1,10,2)

def f(vx,vy): return vx-vy # for example.

res=f(ten_vectors_x,ten_vectors_y)
#res.shape is (10,10,2)

然后res[i,j]v[i]-v[j]