矩形法

微积分中,矩形法是一种计算定积分近似值的方法,其思想是求若干个矩形的面积之和,这些矩形的高由函数值来决定。

将积分区间 (a,b) 划分为 n 个长度相等的子区间,每个子区间的长度为 \Delta x =\frac{b-a}{n} 。这些矩形左上角、右上角或顶边中点在被积函数图像上。这样,这些矩形的面积之和就约等于定积分的近似值。有:

:\int_a^b f(x)\,\mbox{d} x \approx \sum_{i=1}^{n} f(a+i'\Delta x)\Delta x

其中i'可以是以下三个值 i-\frac{1}{2}, i , i+\frac{1}{2}之一,由函数图像上的点为矩形的左上角、右上角或顶边中点来决定。

n 逐渐扩大时,此近似值更加准确。矩形法的计算本质上是与黎曼积分的定义相吻合的。上述的i'无论取哪个值,最终和式的值都将趋近于定积分的值。

Image:midRiemann.png|i' = i-\frac{1}{2}

C 语言代码
#include
#include

double f(double x){
return sin(x);
/也可以回传其他数学子程序,像cos(2x)或2atan(3x+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

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

注释与参考
另见
*梯形法
*辛普森法

评论 (0)

  • 还没有评论,来抢沙发吧。