利用蒙特卡羅方法求積分

2021-08-25 18:58:52 字數 627 閱讀 3401

函式y=f(x)=sin(x)/x 在區間[1,2]的積分,refer to

**如下:

#include#include#include#define count 500000 using namespace std; bool incircle(double x, double y) else } int main() } double res = (double)num / count; cout << "result is " << res << endl; }

結果如下:

/home/a/j/nomad2:./a.out result is 0.658302

思想:將面積轉化為求落在函式下方的點與長度為(b-a)的正方形內的點數之比,類似的還有求圓周率。

#include#include#include#define count 500000 using namespace std; bool incircle(double x,double y) int main() { double x,y; int num=0; int i; srand((unsigned)time(null)); for(i=0;i

執行結果:

/home/a/j/nomad2:./a.out pi:3.14107

pdf 徐鍾濟 蒙特卡羅方法 蒙特卡羅計算積分

通常情況下,我們不能解析地求解積分,必須借助其他方法,其中就包括蒙特卡羅積分。你可能還記得,函式的積分可以解釋為函式曲線下的面積。蒙特卡羅積分的工作原理是在a和b之間的不同隨機點計算乙個函式,將矩形的面積相加,取和的平均值。隨著點數的增加,所得結果接近於積分的實際解。蒙特卡羅積分用代數表示 與其他數...

蒙特卡羅方法

概念 蒙特卡羅方法又稱統計模擬法 隨機抽樣技術 是一種隨機模擬方法,以概率和統計理論方法為基礎的一種計算方法,是使用隨機數來解決很多計算問題的方法。將所求解的問題同一定的概率模型相聯絡,用電子計算機實現統計模擬或抽樣,以獲得問題的近似解。為象徵性地表明這一方法地概率統計特徵,故借用賭城蒙特卡羅命名。...

蒙特卡羅方法

蒙特卡羅方法 monte carlo method 蒙特卡羅方法又稱統計模擬法 隨機抽樣技術,是一種隨機模擬方法。以概率和統計理論方法為基礎的一種計算方法,是使用隨機數 或更常見的偽隨機數 來解決很多計算問題的方法。將所求解的問題同一定的概率模型相聯絡,用電子計算機實現統計模擬或抽樣,以獲得問題的近...