繁体   English   中英

如何在两个向量之间生成一个随机向量?

[英]How to generate a random vector between two vectors?

假设我有两个实值向量:

vec1 = np.array([a, b, c])
vec2 = np.array([x, y, z])

在两个向量之间的线上生成随机向量的好方法是什么? 因此,随机向量将分别具有区间 a 到 x、b 到 y 和 c 到 z 的元素。 这是我到目前为止所得到的,但我想知道是否有更好的方法。

vec3 = np.array([np.random.uniform(vec1[i], vec2[i]) for i in range(len(vec1))])

编辑:我意识到(感谢下面的答案)这个解决方案只找到一个向量,该向量位于由两个向量在对角生成的框中,而不是在两个向量之间的线上找到一个向量。

import random
vec3 = vec1 + random.uniform(0, 1) * (vec2 - vec1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM