このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
sobolset
ソボル準乱数点集合
説明
sobolset
は、ソボル列から点を生成する、準乱数点集合オブジェクトです。ソボル列は、きわめて一様に空間を埋める 2 進数のデジタル系列です。
作成
説明
は、p
= sobolset(d
)d
次元の点集合 p
を作成します。これは、既定のプロパティ設定を使用する sobolset
オブジェクトです。入力引数 d
は、p
の Dimensions
プロパティに対応します。
は、1 つ以上の名前と値のペアの引数を使用して、p
= sobolset(d
,Name,Value
)p
のプロパティを設定します。各プロパティ名は引用符で囲みます。たとえば、sobolset(5,'Leap',2)
は 1 番目の点、4 番目の点、7 番目の点、10 番目の点、以下同様の点から 5 次元の点集合を作成します。
返されるオブジェクト p
では、ソボル準乱数列のプロパティがカプセル化されます。点集合は有限であり、Skip
および Leap
プロパティと点集合のインデックスのサイズに対する限界 (最大値は 253) によって長さが決まります。net
またはかっこによるインデックス指定を使用して p
にアクセスすると、点集合の値が生成されます。値は p
に格納されません。
プロパティ
オブジェクト関数
net | 準乱数の点集合を生成 |
reduceDimensions | ソボル点集合の次元を削減 |
scramble | 準乱数点集合をスクランブル |
sobolset
オブジェクトでは、以下の MATLAB® 関数も使用できます。点集合オブジェクトは、多次元点の行列と同じように扱われます。
例
ヒント
Skip
およびLeap
プロパティは、並列的な用途に便利です。たとえば、Parallel Computing Toolbox™ のライセンスがある場合、関数labindex
(Parallel Computing Toolbox) を使用して、N 個の異なるワーカーに一連の点を分割できます。n 番目のワーカーのそれぞれで、点集合のSkip
プロパティを n – 1 に、Leap
プロパティを N – 1 に設定します。次のコードは、3 つのワーカーに数列を分割する方法を示しています。Nworkers = 3; p = sobolset(10,'Leap',Nworkers-1); spmd(Nworkers) p.Skip = labindex - 1; % Compute something using points 1,4,7... % or points 2,5,8... or points 3,6,9... end
アルゴリズム
参照
[1] Bratley, P., and B. L. Fox. “Algorithm 659 Implementing Sobol's Quasirandom Sequence Generator.” ACM Transactions on Mathematical Software. Vol. 14, No. 1, 1988, pp. 88–100.
[2] Hong, H. S., and F. J. Hickernell. “Algorithm 823: Implementing Scrambled Digital Sequences.” ACM Transactions on Mathematical Software. Vol. 29, No. 2, 2003, pp. 95–109.
[3] Joe, S., and F. Y. Kuo. “Remark on Algorithm 659: Implementing Sobol's Quasirandom Sequence Generator.” ACM Transactions on Mathematical Software. Vol. 29, No. 1, 2003, pp. 49–57.
[4] 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.
[5] Matousek, J. “On the L2-Discrepancy for Anchored Boxes.” Journal of Complexity. Vol. 14, No. 4, 1998, pp. 527–556.
バージョン履歴
R2008a で導入