8个常用积分公式(积分近似计算之梯形公式)
8个常用积分公式(积分近似计算之梯形公式)梯形公式
对于积分区间[a b],若
则成立
梯形公式如下图所示,被积分函数f(x)在区间[a b]的积分值约为各个小梯形的面积之和,而且分割数n越大则近似误差越小。
通过直线逼近实际曲线
梯形公式
C语言程序实现梯形公式计算积分- 计算积分
- 代码
//trapez.c #include <stdio.h> #include <math.h> /*函数定义*/ double f(double x) { return (1.0-x)*exp(-1*x); } /*梯形公式计算积分*/ double trapez( double a double b int n) { double h = (b -a) / n; double s = 0.0; double x; int i; s = ((f(a) f(b)) / 2) * h; for( i = 1; i < n; i ) { x = a h * i; s = f(x) * h; } return s; } int main(void) { //积分区间[a b] double a = -1.0 b = 1.0; //区间分割数 int N[5]={10 20 30 50 100}; int i = 0; for( i = 0; i < 5; i ) printf("[=等分]积分近似值:\ \n\tI = %.5lf\n" N[i] trapez(a b N[i])); return 0; }
- 编译・执行
$ gcc -lm -o trapez trapez.c $ ./trapez [ 10等分]积分近似值: I = 3.11209 [ 20等分]积分近似值: I = 3.09265 [ 30等分]积分近似值: I = 3.08904 [ 50等分]积分近似值: I = 3.08720 [100等分]积分近似值: I = 3.08642