矩形法 - 维基百科,自由的百科全书
系列條目 |
微积分学 |
---|
微积分中,矩形法是一种计算定积分近似值的方法,其思想是求若干个矩形的面积之和,这些矩形的高由函数值来决定。[1]
将积分区间 划分为 个长度相等的子区间,每个子区间的长度为 。这些矩形左上角、右上角或顶边中点在被积函数图像上。这样,这些矩形的面积之和就约等于定积分的近似值。有:
其中可以是以下三个值 , , 之一,由函数图像上的点为矩形的左上角、右上角或顶边中点来决定。
当 n 逐渐扩大时,此近似值更加准确。矩形法的计算本质上是与黎曼积分的定义相吻合的。上述的无论取哪个值,最终和式的值都将趋近于定积分的值。[2]
C 语言代码
[编辑]#include <stdio.h> #include <math.h> double f(double x){ return sin(x); /*也可以回传其他数学子程序,像cos(2*x)或2*atan(3*x+1)-1*/ } double rectangle_integrate(double a, double b, int subintervals){ double result; double interval; int i; interval=(b-a)/subintervals; result=0; for(i=1;i<=subintervals;i++){ result+=f(a+interval*(i-0.5)); } result*=interval; return result; } int main(void){ double integral; integral=rectangle_integrate(0,2,100); printf("Integral: %f \n",integral); return 0; }
Fortran 语言代码
[编辑] Program Calc Double Precision f,y,a,b,J,mult,sum,c1,c2 Sum=0.0 c2=0.0 c1=0.0 Print*,'Enter the start and end of the interval' Read*,a,b If (b.gt.a) then goto 1 Else goto 2 End If 1 Do J=a,b,.00000001 c1=J Y=F(((c1+c2)/2)) Mult=Y*.00000001 Sum=sum+mult c2=c1 End Do 2 Do J=a,b,-.00000001 c1=J Y=F(((c1+c2)/2)) Mult=Y*.00000001 Sum=sum+mult c2=c1 End Do Print*,Sum 3 Format (F20.5) End Double Precision Function f(x) Double Precision x F=(4)/((x**2)+1) Return End
注释与参考
[编辑]- ^ 同济大学数学教研室. 《高等数学》 第三版. 高等教育出版社. 1988年4月: 319. ISBN 7-04-000894-7.
- ^ 李忠、周建莹. 《高等数学》 第二版. 北京大学出版社. 2009年8月: 166~167. ISBN 978-7-301-15597-4.