C++实现积分计算代码案例
时间: 2024-10-17 22:10:28 浏览: 19
P11_梯形积分公式的C++实现_
在C++中,可以使用数值积分的方法,比如梯形法、辛普森法则等来计算函数的定积分。下面是一个简单的例子,使用梯形法则计算从0到1的正弦函数的积分:
```cpp
#include <iostream>
#include <cmath>
// 定义函数的值
double f(double x) {
return std::sin(x);
}
// 梯形法则积分函数
double trapezoidal_rule(int n, double a, double b) {
double h = (b - a) / n;
double sum = 0.5 * f(a) + 0.5 * f(b); // 首尾两个矩形面积之和
for (int i = 1; i < n; ++i) {
sum += f(a + i * h);
}
return h * sum;
}
int main() {
int n = 10000; // 分割成n个小矩形
double result = trapezoidal_rule(n, 0, M_PI); // 使用pi作为上限,因为我们要算的是0到π的sin函数积分
std::cout << "The integral of sin(x) from 0 to π using trapezoidal rule with " << n << " intervals is approximately: " << result << std::endl;
return 0;
}
```
这个程序会输出近似于`2`的结果,因为在理论上,sin(x)在0到π之间的积分等于2。
阅读全文