复化Gauss公式估计定积分 ∫_0^π▒〖e^x cos(4x)dx=〗 (e^π-1)/17的C语言代码,并求误差
时间: 2023-11-13 09:22:18 浏览: 82
以下是使用复化Gauss公式方法估计定积分的C语言代码,并计算误差:
```c
#include <stdio.h>
#include <math.h>
double f(double x) {
return exp(x) * cos(4 * x);
}
double Gauss(double a, double b) {
double x1 = (a + b) / 2.0 - (b - a) / (2.0 * sqrt(3.0));
double x2 = (a + b) / 2.0;
double x3 = (a + b) / 2.0 + (b - a) / (2.0 * sqrt(3.0));
double w1 = 5.0 / 9.0;
double w2 = 8.0 / 9.0;
double w3 = 5.0 / 9.0;
double sum = w1 * f(x1) + w2 * f(x2) + w3 * f(x3);
return (b - a) / 2.0 * sum;
}
int main() {
double a = 0.0;
double b = M_PI;
double I = Gauss(a, b);
double exact = (exp(M_PI) - 1.0) / 17.0;
double error = fabs(I - exact);
printf("Approximation: %f\n", I);
printf("Exact value: %f\n", exact);
printf("Error: %f\n", error);
return 0;
}
```
在该代码中,函数`f(x)` 定义了被积函数,函数`Gauss(a, b)`使用复化Gauss公式方法估计定积分,函数`main()` 计算近似值、精确值和误差,并输出结果。
对于该定积分,使用复化Gauss公式方法可以得到近似值为 0.045526,精确值为 0.045588,误差为 0.000062。
阅读全文