c语言实现用Simpson公式算出积分
时间: 2024-06-13 18:05:47 浏览: 14
以下是用C语言实现用Simpson公式算出积分的代码:
```c
#include <stdio.h>
#include <math.h>
double f(double x) {
return sin(x); // 这里以sin(x)函数为例
}
double simpson(double a, double b, int n) {
double h = (b - a) / n;
double x, sum = 0;
for (int i = 1; i < n; i += 2) {
x = a + i * h;
sum += 4 * f(x);
}
for (int i = 2; i < n - 1; i += 2) {
x = a + i * h;
sum += 2 * f(x);
}
return (h / 3) * (f(a) + f(b) + sum);
}
int main() {
double a = 0, b = M_PI; // 积分区间为[0, pi]
int n = 100; // 将积分区间分成100个小区间
double result = simpson(a, b, n);
printf("The result is: %lf\n", result);
return 0;
}
```
其中,`f(x)`函数为被积函数,`simpson`函数为Simpson公式的具体实现,`main`函数中调用`simpson`函数计算积分结果,并输出结果。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)