矩形法
微積分中,矩形法是一種計算定積分近似值的方法,其思想是求若干個矩形的面積之和,這些矩形的高由函數值來決定。[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.