haltonset
ハルトン準乱数点集合
説明
haltonset は、ハルトン列から点を生成する、準乱数点集合オブジェクトです。ハルトン列は、各次元で異なる素数の基数を使用して、きわめて一様に空間を埋めます。
作成
説明
は、p = haltonset(d)d 次元の点集合 p を作成します。これは、既定のプロパティ設定を使用する haltonset オブジェクトです。入力引数 d は、p の Dimensions プロパティに対応します。
は、1 つ以上の名前と値のペアの引数を使用して、p = haltonset(d,PropertyName=Value)p のプロパティを設定します。たとえば、haltonset(5,Leap=2) は 1 番目の点、4 番目の点、7 番目の点、10 番目の点、以下同様の点から 5 次元の点集合を作成します。
返されるオブジェクト p では、ハルトン準乱数列のプロパティがカプセル化されます。点集合は有限であり、Skip および Leap プロパティと点集合のインデックスのサイズに対する限界 (最大値は 253) によって長さが決まります。net またはかっこによるインデックス指定を使用して p にアクセスすると、点集合の値が生成されます。値は p に格納されません。
プロパティ
オブジェクト関数
haltonset オブジェクトでは、以下の MATLAB® 関数も使用できます。点集合オブジェクトは、多次元点の行列と同じように扱われます。
例
ヒント
SkipおよびLeapプロパティは、並列的な用途に便利です。たとえば、Parallel Computing Toolbox™ のライセンスがある場合、関数spmdIndex(Parallel Computing Toolbox) を使用して、N 個の異なるワーカーに一連の点を分割できます。n 番目のワーカーのそれぞれで、点集合のSkipプロパティを n – 1 に、Leapプロパティを N – 1 に設定します。次のコードは、3 つのワーカーに数列を分割する方法を示しています。Nworkers = 3; p = haltonset(10,Leap=Nworkers-1); spmd(Nworkers) p.Skip = spmdIndex - 1; % Compute something using points 1,4,7... % or points 2,5,8... or points 3,6,9... end
アルゴリズム
参照
[1] Kocis, L., and W. J. Whiten. “Computational Investigations of Low-Discrepancy Sequences.” ACM Transactions on Mathematical Software. Vol. 23, No. 2, 1997, pp. 266–294.
バージョン履歴
R2008a で導入