簡體   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