说我有一个矩形[a,b]x[c,d]
,其中a,b,c,d
是实数。我想生成从这个矩形统一采样的k
点(x,y)
,即a <= x <= c
和b <= y <= d
。显然,如果从[0,1]x[0,1]
采样是可能的,那么问题就解决了。如何在python
实现这两个目标中的任何一个?或者,例如R
等其他工具?
你可以使用random.uniform()
:
import random
x, y = random.uniform(a, b), random.uniform(c, d)
如果你想要他们的k,列表理解会做
coords = [(random.uniform(a, b), random.uniform(c, d)) for _ in range(k)]
我认为模运算符(%)是你的朋友检查x和y是否在[a,c]和[b,d]中
如果你不能在2个数字(其他0和1)之间使用随机,你可以尝试使x = (random() *(c-a)+a)
与y相同:)
编辑:哦,我在结婚后发送它