我正在尝试用均匀分布的点填充由 2 个区间 [a,b] x [c,d] 定义的区域,并且我正在实现Halton 序列。我正在使用以下代码(生成子编号)。
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
间隔?