関数 > 実験計画 > モンテカルロシミュレーション > 例: モンテカルロシミュレーション
例: モンテカルロシミュレーション
montecarlo関数を使用して、関数をシミュレートするランダムサンプルを生成します。
1. シミュレートする関数を定義します。
クリックしてこの式をコピー
2. 各パラメータの分布を定義します。
クリックしてこの式をコピー
ベクトル dist の 2 つのエントリは、それぞれ関数NormalおよびUniformを示しています。
3. 各分布の平均値と標準偏差を定義します。結果を行列 Rvals に格納します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
4. パラメータ Y の上限を設定します。
クリックしてこの式をコピー
クリックしてこの式をコピー
5. 生成するサンプルの数を指定します。
クリックしてこの式をコピー
6. montecarlo を呼び出してサンプルを生成します。
クリックしてこの式をコピー
montecarlo 関数の出力は 3 列の行列です。
クリックしてこの式をコピー
最初の 2 つの列には、各パラメータに生成されたサンプルが格納されています。最後の列には、これらのパラメータにおける関数 f の出力が格納されています。
7. 生成された値を別々のベクトルに格納します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
最後のベクトル R1 が実際に関数 f の出力であることを確認できます。
クリックしてこの式をコピー
クリックしてこの式をコピー
8. 一方のパラメータをもう一方のパラメータに対してプロットし、それぞれの平均値をプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
サンプルは、Y 軸については一様に分布し、X 軸については正規分布しています。y の値が 8.5 より大きいサンプルは破棄されています。
9. histogram関数を呼び出して、y の値を 10 区間に区切ります。y の値のヒストグラムをプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
y の値は一様に分布しています。サンプルでは平均値の (左右) 両側にそれぞれ 6 シグマの分布が生成されています。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
生成されたサンプルのうち、上限を超えたサンプルは破棄されます。
クリックしてこの式をコピー
10. histogram 関数を呼び出して、x の値を 10 区間に区切ります。y の値のヒストグラムをプロットし、正規分布を追加します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
x の値は正規分布しています。
11. 結果を各パラメータに対してプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
12. 特別な関数ifを呼び出して制約条件を定義し、制約条件を満たさない場合には結果を NaN に置き換えます。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
13. 一方のパラメータに対してもう一方のパラメータをプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
14. 結果を各パラメータに対してプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
これは役に立ちましたか?