我试图填充由2个区间[a,b] x [c,d]定义的区域,点均匀分布,我正在实施Halton sequence。我使用以下代码(生成子数字)。
The number I is input.
The number H is output.
for i = 1:N
H = 0
half = 1 / 2
I = rand() % MATLAB rand()
do while ( I is not zero )
digit = mod ( I, 2 )
H = H + digit * half
I = ( I - digit ) / 2
half = half / 2
end
x(i) = H
end
对于x轴,我使用基座2,对于y轴,我使用基座3。
因为我除以2,3我似乎无法完全填满整个[0,1] x [0,1]空间。我必须填[0,1] x [0,1],我实际上填[0,0.5] x [0,0.35]。当我尝试扩展[a,b] x [c,d]的算法时,我得到[a,b-0.5] x [c,d-1]中的点。
我该怎么做才能填写正确的full
间隔?