Main Content

reduceDimensions

ソボル点集合の次元削減

説明

pr = reduceDimensions(p,d) は、ソボル準乱数点集合 p を最初の d 次元に縮小します。d は、p の次元数以下でなければなりません。

縮小された点集合 prsobolset オブジェクトです。

すべて折りたたむ

7 次元のソボル点集合を生成し、点をスクランブルします。

p = sobolset(7);
ps = scramble(p,'MatousekAffineOwen')
ps = 
Sobol point set in 7 dimensions (9007199254740992 points)

Properties:
              Skip : 0
              Leap : 0
    ScrambleMethod : MatousekAffineOwen
        PointOrder : standard

ps 内の最初の 7168 個の点を、1024 個の点の 7 つのレベルにそれぞれ分割します。最初の 1024 個の点を 1 次元に、次の 1024 個の点を 2 次元に縮小します。以降についても同様にします。各レベルについて、各次元における点の値の分散を計算します。

variance = NaN(7);
for level = 1:7
    pr = reduceDimensions(ps,level);
    pr.Skip = (level-1)*1024;
    pts = pr(1:1024,:);
    variance(level,1:level) = var(pts);
end

分散をプロットします。濃い青のバーは 1 番目の次元における点の分散を、濃いオレンジのバーは 2 番目の次元における点の分散を示します。以降についても同様です。

bar(variance)
xlabel('Level')
ylabel('Variances')

Figure contains an axes object. The axes object with xlabel Level, ylabel Variances contains 7 objects of type bar.

入力引数

すべて折りたたむ

ソボル点集合。sobolset オブジェクトを指定します。

点集合 p で保持する次元数。1 から p の次元数までの正の整数スカラーを指定します。常に、p の最初の d 次元が保持されます。

データ型: single | double

バージョン履歴

R2019a で導入