0

2 つの間隔 [a,b] x [c,d] で定義された領域を均一に分布した点で埋めようとしており、ハルトン シーケンスを実装しています。次のコードを使用しています(サブユニタリ番号を生成します)。

      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