0

我正在尝试用均匀分布的点填充由 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间隔?

4

0 回答 0