我使用R的Randtool盒子包来生成准随机序列。 E.g
Halton(2,dim=2)
Sobol(3,dim=3)..
但我在[0,1]
间隔内得到这些序列。
对于halton (3,dim=3)
我得到以下输出
0.50 0.3333333 0.2
0.25 0.6666667 0.4
0.75 0.1111111 0.6
我们可以清楚地看到序列处于[0,1]
区间。我们如何生成具有自定义区间的这些准随机序列,例如[-6,6]
?
例如,我们有随机均匀函数runif (6,min=-6,max=6) this will give the random sequences between the interval
[ - 6,6]`。
任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
如果在[0,1]范围内得到随机值a,并且希望它在[x,y]范围内,请执行以下操作:
b = a *(y - x)+ x
对于[-6,6]你会得到:
b = a *(6 - ( - 6))+( - 6)= a * 12 - 6
此值介于-6和6之间。
答案 1 :(得分:0)
要将[0,1]间隔转换为[-6,6],首先乘以12得到[0,12],然后减去6将间隔转换为[-6,6]。简而言之,将Halton或Sobol的每个结果乘以12,然后减去6。