当我们需要求一个函数在某一区间上的定积分时,可以采用矩形法(梯形法)进行计算。下面是具体的步骤:
步骤1:将区间等分成若干个小区间
将要求定积分的区间[a,b]等分成n个小区间,步长为Δx = (b-a)/n,n通常会选择2的倍数,如n=2、4、8、16等,这样可以使得每个小区间的宽度相等。用x_i表示第i个小区间左端点的位置,则有x_0=a, x_1=a+Δx, ..., x_n=b.
步骤2:在每个小区间中选择一个样本点
在每个小区间中,可以任意地选择一个样本点x_i(i∈[0,n-1]),可以是左端点、右端点、中点等。这里以左端点为例,即x_i=x_i。
步骤3:计算每个小区间上的函数平均值
对于每个小区间[i, i+1],可以计算出函数f(x)在该区间的平均值:f_ave[i]=(f(x_i)+f(x_i+1))/2。
步骤4:计算矩形(梯形)的面积
以左端点为例,对于每个小区间,可以计算出一个矩形的面积:S_i=f(x_i)Δx。这个矩形的宽度就是Δx,高度就是在该区间的函数值f(x_i)。对于梯形法,我们可以计算出梯形的面积:S_i=((f(x_i)+f(x_i+1))/2)Δx。
步骤5:将每个小矩形(梯形)的面积相加
将每个小矩形(梯形)的面积相加,即可得到定积分的近似结果。对于某个函数f(x)在区间[a, b]上的定积分,则有如下近似结果:
矩形法:∫f(x)dx ≈ Δx * (f(x_0)+f(x_1)+ ... +f(x_n-1))
梯形法:∫f(x)dx ≈ Δx/2 * (f(x_0)+2f(x_1)+ ... +2f(x_n-1)+f(x_n))
下面通过两个具体的例子来说明矩形法和梯形法的使用。
示例1
要求函数f(x) = x^2在区间[0, 1]上的定积分,将该区间等分成4个小区间,用左端点为样本点。
首先,计算步长Δx = (b-a)/n=1/4=0.25,可以得到x_0=0, x_1=0.25, x_2=0.5, x_3=0.75, x_4=1。
其次,计算每个小区间上的函数平均值:
f_ave[0]=(f(x_0)+f(x_1))/2 = (0^2+(0.25)^2)/2 = 0.03125
f_ave[1]=(f(x_1)+f(x_2))/2 = ((0.25)^2+(0.5)^2)/2 = 0.140625
f_ave[2]=(f(x_2)+f(x_3))/2 = ((0.5)^2+(0.75)^2)/2 = 0.421875
f_ave[3]=(f(x_3)+f(x_4))/2 = ((0.75)^2+1^2)/2 = 0.9453125
然后,计算每个小矩形的面积:
S_0 = f(x_0)Δx = 00.25 = 0
S_1 = f(x_1)Δx = (0.25)^20.25 = 0.015625
S_2 = f(x_2)Δx = (0.5)^20.25 = 0.0625
S_3 = f(x_3)Δx = (0.75)^20.25 = 0.1328125
最后,将每个小矩形的面积相加:
∫f(x)dx ≈ S_total = S_0 + S_1 + S_2 + S_3 = 0 + 0.015625 + 0.0625 + 0.1328125 = 0.2109375
因此,函数f(x) = x^2在区间[0, 1]上的定积分约等于0.2109375。
示例2
要求函数f(x) = sin(x)在区间[0, π]上的定积分,将该区间等分成8个小区间,用梯形法计算。
首先,计算步长Δx = (b-a)/n=π/8=0.3926991,可以得到x_0=0, x_1=0.3926991, x_2=0.7853982, x_3=1.1780972, x_4=1.5707963, x_5=1.9634954, x_6=2.3561945, x_7=2.7488936, x_8=3.1415927。
其次,计算每个小区间上的函数平均值:
f_ave[0]=(f(x_0)+f(x_1))/2 = (sin(0)+sin(0.3926991))/2 = 0.1951417
f_ave[1]=(f(x_1)+f(x_2))/2 = (sin(0.3926991)+sin(0.7853982))/2 = 0.47033548
f_ave[2]=(f(x_2)+f(x_3))/2 = (sin(0.7853982)+sin(1.1780972))/2 = 0.6852743
f_ave[3]=(f(x_3)+f(x_4))/2 = (sin(1.1780972)+sin(1.5707963))/2 = 0.8196466
f_ave[4]=(f(x_4)+f(x_5))/2 = (sin(1.5707963)+sin(1.9634954))/2 = 0.6852743
f_ave[5]=(f(x_5)+f(x_6))/2 = (sin(1.9634954)+sin(2.3561945))/2 = 0.47033548
f_ave[6]=(f(x_6)+f(x_7))/2 = (sin(2.3561945)+sin(2.7488936))/2 = 0.1951417
f_ave[7]=(f(x_7)+f(x_8))/2 = (sin(2.7488936)+sin(3.1415927))/2 = -0.15038373
然后,计算每个小梯形的面积:
S_0 = ((f(x_0)+f(x_1))/2)Δx = 0.19514170.3926991 = 0.07646452
S_1 = ((f(x_1)+f(x_2))/2)Δx = 0.470335480.3926991 = 0.18400249
S_2 = ((f(x_2)+f(x_3))/2)Δx = 0.68527430.3926991 = 0.26862728
S_3 = ((f(x_3)+f(x_4))/2)Δx = 0.81964660.3926991 = 0.32016606
S_4 = ((f(x_4)+f(x_5))/2)Δx = 0.68527430.3926991 = 0.26862728
S_5 = ((f(x_5)+f(x_6))/2)Δx = 0.470335480.3926991 = 0.18400249
S_6 = ((f(x_6)+f(x_7))/2)Δx = 0.19514170.3926991 = 0.07646452
S_7 = ((f(x_7)+f(x_8))/2)Δx = -0.150383730.3926991 = -0.0589904
最后,将每个小梯形的面积相加:
∫f(x)dx ≈ S_total = S_0 + S_1 + S_2 + S_3 + S_4 + S_5 + S_6 + S_7 = 0.07646452 + 0.18400249 + 0.26862728 + 0.32016606 + 0.26862728 + 0.18400249 + 0.07646452 -0.0589904 = 1.21935334
因此,函数f(x) = sin(x)在区间[0, π]上的定积分约等于1.21935334。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何用矩形法(梯形法)求定积分 - Python技术站