函數 > 實驗設計法 > Monte Carlo 模擬法 > 範例:Monte Carlo 模擬法
範例:Monte Carlo 模擬法
使用 montecarlo 函數產生模擬函數的隨機樣本。
1. 定義要模擬的函數。
按一下以複製此運算式
2. 定義每個參數的分佈。
按一下以複製此運算式
向量 dist 中的兩個項目代表函數 NormalUniform
3. 定義各分佈的均數及標準差。以矩陣 Rvals 記錄結果。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
4. 設定參數 Y 的上限。
按一下以複製此運算式
按一下以複製此運算式
5. 定義要產生的樣本數。
按一下以複製此運算式
6. 呼叫 montecarlo 產生樣本。
按一下以複製此運算式
montecarlo 函數傳回的輸出為三欄式矩陣:
按一下以複製此運算式
前兩欄是為各參數產生的樣本。最後一欄是函數 f 針對這些參數的輸出。
7. 將產生的值記錄到不同的向量中。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
您可以檢查最後一個向量 R1 是否確實為函數 f 的結果:
按一下以複製此運算式
按一下以複製此運算式
8. 繪製比肩相鄰的參數與其均數。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
樣本均等分佈在 y 軸,且常態分佈在 x 軸。y 值超過 8.5 的樣本即予以去除。
9. 呼叫 histogram 以將 y 值分成 10 個柱狀。繪製 y 值的柱狀圖。
按一下以複製此運算式
按一下以複製此運算式
y 值為均等分配。均數兩側會以六個標準差產生樣本:
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
若產生的樣本大於上限,即會遭去除:
按一下以複製此運算式
10. 呼叫 histogram 以將 x 值分成 10 個柱狀。繪製 y 值的柱狀圖,並加上常態分佈。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
x 值為常態分配。
11. 對照每個參數繪製結果。
按一下以複製此運算式
按一下以複製此運算式
12. 呼叫特別的建構 if 定義約束條件,並在其不符合約束條件時以 NaN 取代結果。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
13. 繪製比肩相鄰的參數。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
14. 對照每個參數繪製結果。
按一下以複製此運算式
按一下以複製此運算式
這是否有幫助?