矩形法
微积分中,矩形法是一种计算定积分近似值的方法,其思想是求若干个矩形的面积之和,这些矩形的高由函数值来决定。[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.
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.
