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