给我一个高斯积分的示例代码,用C++写。其中,被积函数要用一个单独的函数表示出来
时间: 2024-03-26 22:40:07 浏览: 143
好的,这是一个计算高斯积分的示例代码,使用 C++ 编写:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
double gauss(double x)
{
return exp(-x * x);
}
double integrate(double a, double b, int n)
{
double h = (b - a) / n;
double sum = 0.5 * (gauss(a) + gauss(b));
for (int i = 1; i < n; i++) {
double x = a + i * h;
sum += gauss(x);
}
return sum * h / sqrt(M_PI);
}
int main()
{
double a = -1.0, b = 1.0;
int n = 1000;
double result = integrate(a, b, n);
cout << "The result of the Gaussian integral is " << result << endl;
return 0;
}
```
其中,`gauss` 函数表示被积函数,`integrate` 函数计算积分值。在 `main` 函数中,我们指定了积分区间为 $[-1, 1]$,将积分区间分成了 $1000$ 个小区间进行计算,得到了高斯积分的近似值,并输出到屏幕上。
阅读全文