主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

sobolset

ソボル準乱数点集合

説明

sobolsetは,ソボル列から点を生成する,準乱数点集合オブジェクトです。ソボル列は,きわめて一様に空間を埋める2進数のデジタル系列です。

作成

説明

p= sobolset (dは,d次元の点集合pを作成します。これは,既定のプロパティ設定を使用するsobolsetオブジェクトです。入力引数dは,pプロパティに対応します。

p= sobolset (d名称,值は,1以上の名前と値のペアの引数を使用して,pプロパティを設定します。各プロパティ名は引用符で囲みます。たとえば、sobolset(5“飞跃”2)は1番目の点4番目の点,7番目の点,10番目の点,以下同様の点から5次元の点集合を作成します。

返されるオブジェクトpでは,ソボル準乱数列のプロパティがカプセル化されます。点集合は有限であり,跳过および飞跃プロパティと点集合の▪▪ンデックスのサ▪▪ズに対する限界(最大値は53)によって長さが決まります。またはかっこによる@ @ンデックス指定を使用してpにアクセスすると,点集合の値が生成されます。値はpに格納されません。

プロパティ

すべて展開する

このプロパティは読み取り専用です。

点集合内の点の次元数。区間[1,1111]の正の整数スカラ.を指定します。たとえば,p.尺寸= 5である点集合p内の各点には5の値があります。

関数sobolsetを使用して点集合を作成する場合,入力引数dを使用して次元数を指定します。

点集合を作成した後で次元数を削減するには,オブジェクト関数reduceDimensionsを使用します。

数列内の点の間隔。正の整数スカラを指定します。まり,点集合の飞跃プロパティは,点を取得するときにリ,プして省略する数列内の点の個数を指定します。既定の設定の飞跃値は0です。これは,シ,ケンスからすべての点を取得するということです。

リ,プは,点集合の品質を向上させるために使用されるテクニックです。ただし,飞跃の値の選択には注意が必要です。飞跃の値が多いと,単位超立方体の下位次元の大きい超矩形に近づかない数列が生成されるので,一様な準乱数点集合になりません。詳細は,[4]を参照してください。

例:p = sobolset(__,'Leap',50);

例:p.Leap = 100;

点の生成方法。“标准”または“graycode”を指定します。PointOrderプロパティは,ソボル列の点を生成する順序を指定します。PointOrder“标准”に設定した場合,生成される点は元のソボル列の実装と同じになります。PointOrder“graycode”に設定した場合,インデックス自体ではなく,インデックスのグレイ符号を使用する実装によって数列が生成されます。

“graycode”オプションを使用すると数列の生成が高速になりますが,生成される点の順序が変化します。グレ化学键符号の実装の詳細に化学键いては,[1]を参照してください。

例:p = sobolset(__,'PointOrder','graycode');

例:p.PointOrder = 'standard';

数列のスクランブルを制御する設定。次のフィルドをも構造体を指定します。

  • 类型-スクランブルの名前が含まれている文字ベクトル

  • 选项-スクランブルのパラメタ値が含まれているcell配列

スクランブルを設定するには,オブジェクト関数争夺を使用します。有効なスクランブルの種類の一覧にいては,争夺の入力引数类型を参照してください。無効なスクランブル型を与えられた点集合に設定すると,エラ,が発生します。

ScrambleMethodプロパティも,空の行列を値として受け入れます。この場合,すべてのスクランブルが消去され,0 x0の構造体を格納するようにプロパティが設定されます。

点集合から省略する数列内の初期点の個数。正の整数スカラ,を指定します。

数列の初期点は,望ましくない性質を示すことがあります。たとえば,多くの場合に最初の点は(0, 0, 0,…)ですが,同等の点である(1, 1, 1,…)が絶対に現れないので,数列が偏る可能性があります。また,多くの場合,初期点は異なる次元の間の相関を示し,これらの相関は数列の後の方になると失われます。

例:p = sobolset(__,'Skip',2e3);

例:p.Skip = 1e3;

このプロパティは読み取り専用です。

準乱数点集合pが基づく数列の種類。“Sobol”を指定します。

オブジェクト関数

準乱数の点集合を生成
reduceDimensions ソボル点集合の次元を削減
争夺 準乱数点集合をスクランブル

sobolsetオブジェクトでは,以下のmatlab®関数も使用できます。点集合オブジェクトは,多次元点の行列と同じように扱われます。

长度 最大の配列の次元の長さ
大小 配列サ@ @ズ

すべて折りたたむ

3次元のソボル点集合を生成し,最初の1000個の値をスキップしてから,101番目ごとの点を保持します。

P = sobolset(3,“跳过”1 e3,“飞跃”1 e2)
p = Sobol点集在3个维度(89180190640991点)属性:跳过:1000跳:100打乱方法:无PointOrder:标准

争夺を使用して,ランダムな桁シフトと組み合わせたランダムな線形スクランブルを適用します。

P = scramble(P,“MatousekAffineOwen”
p = Sobol点集在3个维度(89180190640991点)属性:跳过:1000跳:100打乱方法:MatousekAffineOwen PointOrder:标准

を使用して,最初の4の点を生成します。

X0 =净(p,4)
X0 =4×30.7601 0.5919 0.9529 0.1795 0.0856 0.0491 0.5488 0.0785 0.8483 0.3882 0.8771 0.8755

かっこで▪▪ンデックスを指定して,11番目の点まで3▪▪ごとに点を生成します。

X = p(1:3:11,:)
X =4×30.7601 0.5919 0.9529 0.3882 0.8771 0.8755 0.6905 0.4951 0.8464 0.1955 0.5679 0.3192

ヒント

  • 跳过および飞跃プロパティは,並列的な用途に便利です。たとえば,Parallel Computing Toolbox™ のライセンスがある場合、関数labindex(并行计算工具箱)を使用して,n個の異なるワ,カ,に一連の点を分割できます。N番目のワ,カ,のそれぞれで,点集合の跳过プロパティをN - 1に,飞跃プロパティをN - 1に設定します。。

    Nworkers = 3;P = sobolset(10,“飞跃”, Nworkers-1);spmd(Nworkers) p.Skip = labindex - 1;使用点1,4,7…计算一些东西。%或点2,5,8…或者点3,6,9…结束

アルゴリズム

すべて展開する

参照

[1] P.布拉特利和B. L.福克斯。算法659实现Sobol的准随机序列发生器ACM数学软件汇刊。第14卷第1期,1988年,第88-100页。

[2]洪,H. S.和F. J.希克内尔。算法823:实现置乱数字序列ACM数学软件汇刊。第29卷,2003年第2期,第95-109页。

[3] Joe, S.和f.y. Kuo。算法659的注释:实现Sobol的准随机序列生成器ACM数学软件汇刊。第29卷,2003年第1期,第49-57页。

[4]科西斯,L.和W. J.怀特。低差异序列的计算研究ACM数学软件汇刊。第23卷第2期,1997年,第266-294页。

[5] Matousek, J.《关于锚定箱的l2差异》。复杂性杂志。第14卷第4期,1998年,第527-556页。

R2008aで導入