一個積分的code問題...

看板Programming作者 (綠茶微糖)時間14年前 (2010/05/21 18:48), 編輯推噓3(308)
留言11則, 5人參與, 最新討論串1/2 (看更多)
#include "stdafx.h" #include <cmath> #include <iostream> using namespace std; double z = 0; double Normal(double a ,double b , double c) { double f = exp(-pow(a-b,2)/(2*c*c))/(pow(6.28, 0.5)*c); return f; }; int _tmain(int argc, _TCHAR* argv[]) { for(int i=0 ; i<10001;i++) { double c = i/10000; z = z + i/10000*Normal(c,0,1) ; } cout<<z; system("pause"); return 0; } 如題 我是要計算出 常態分配的機率分布與積分結果 Please calculate ∫_0^1??1/(√2π σ) e^(-(?(x-μ)?^2/(2σ^2 ))) ? Note, e(x) can be obtained by calling cmath function exp(x). 也就是積出Normal(0,1) x= 0~1的結果 答案應該是0.34 但我的是0.24 想說應該都沒錯吧= = ...看了又看不知錯在哪 旁觀者清 請各位大大指點小弟一下 感激不盡啊!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.140.247

05/21 18:50, , 1F
你沒錯 因為你在算下和
05/21 18:50, 1F

05/21 18:50, , 2F
用程式做數值積分的話辛普森法可以看看
05/21 18:50, 2F

05/21 18:51, , 3F
(稍微學些微積分就會知道下和其實並不怎麼準
05/21 18:51, 3F

05/21 18:51, , 4F
同樣的上和也不一定準)
05/21 18:51, 4F

05/21 18:52, , 5F
說起來這個應該不是下和 而是左端點矩形
05/21 18:52, 5F

05/21 18:56, , 6F
那cmath裡有包含積分的內建運算式嗎??
05/21 18:56, 6F

05/21 18:56, , 7F
想說能不能直接運用cmath的功能
05/21 18:56, 7F

05/21 19:31, , 8F
沒有。
05/21 19:31, 8F

05/21 23:56, , 9F
05/21 23:56, 9F

05/25 19:29, , 10F
第1個 i/10000 -> 1/10000.0
05/25 19:29, 10F

05/25 19:30, , 11F
第2個 i/10000 -> 1/10000.0 (不是i)
05/25 19:30, 11F
文章代碼(AID): #1BzcK7IE (Programming)
文章代碼(AID): #1BzcK7IE (Programming)