C++一维高斯积分的实现

it2025-03-18  25

#include <cmath> #include <limits> #include <cstdlib> #include <iostream> #include<cmath> using namespace std; //高斯积分 int main() { double sigma = 1; double mu = 0; double A = 1/(sqrt(2*M_PI) * sigma); // double x = 0; // double f_x = A*exp((-0.5) * pow(((x - mu) / sigma),2)); double sum = 0; double h = 0.0001; for(double x = -100;x<0;x += h) { double x1 = x - 0.7886751345848*h; double x2 = x - 0.2113248654051*h; double temp1 = A*exp((-0.5) * pow(((x1 - mu) / sigma),2)); double temp2 = A*exp((-0.5) * pow(((x2 - mu) / sigma),2)); sum += temp1 +temp2; } sum = sum *h *0.5; cout<<sum<<endl; }
最新回复(0)