1

ばかげた質問で申し訳ありませんが、数学は私の得意分野ではありません。d 次元の正規分布 N(mu, sigma) に従ってサンプルを生成する関数を matlab で設計しようとしています。これは私がこれまでに持っているコードです、

mu = [1 2];
Sigma = [1 .5; .5 2]; R = chol(Sigma);
z = repmat(mu,100,1) + randn(100,2)*R;

さまざまなウィキペディアとグーグルの記事を読んでこれを見つけましたが、それが正しいかどうか疑問に思っていましたか? 前もって感謝します、

さびた

4

1 に答える 1

2

簡単な答え - はい。

少し長い答え - 自分で試してみませんか?

>> z = repmat(mu,1000000,1) + randn(1000000,2)*R;
>> mean(z)
ans =
        1.001       2.0005
>> cov(z)
ans =
      0.99937      0.49942
      0.49942       2.0017
于 2012-05-24T17:12:18.963 に答える