【数值计算方法(黄明游)】数值积分(一):复化(梯形公式、中点公式)【理论到程序】

2024-07-30 10:48:04 浏览数 (1)

​一、梯形公式、中点公式

1. 梯形公式(Trapezoidal Rule):

  梯形公式是最简单的数值积分方法之一,它基于使用梯形逼近曲线下的面积,其数学表达式为:

int_a^b f(x) ,dx approx frac{b-a}{2} [f(a) f(b)]

通过连接函数图像上的两个端点,形成一个梯形,然后计算梯形的面积来估计定积分值。

2. 复化梯形公式(Composite Trapezoidal Rule):

  复化梯形公式是对梯形公式的改进,通过将积分区间分割成多个小区间,然后在每个小区间上应用梯形公式,最后将结果相加,其数学表达式为:

int_a^b f(x) ,dx approx frac{h}{2} [f(a) 2f(x_1) 2f(x_2) ldots 2f(x_{n-1}) f(b)]

其中,

h=(b-a)/n

是每个小区间的宽度。

3. 中点公式(Midpoint Rule):

  中点公式使用区间中点的函数值来逼近曲线下的面积,数学表达式为:

int_a^b f(x) ,dx approx fleft(frac{a b}{2} right)(b-a)

4. 复化中点公式(Composite Midpoint Rule):

  复化中点公式是对中点公式的改进,通过将积分区间分割成多个小区间,然后在每个小区间上应用中点公式,最后将结果相加,数学表达式为:

int_a^b f(x) ,dx approx h sum_{i=0}^{n-1} fleft(a frac{h}{2} ihright)

其中,

h

是每个小区间的宽度,

n

是分割的小区间数量。

二、例题

有一组(x, y)值: (

y=e^x

) KaTeX parse error: No such environment: align* at position 8: begin{̲a̲l̲i̲g̲n̲*̲}̲ & (1.1, 3.0042…

  • 使用中点公式:
int_a^b f(x) ,dx approx (b - a) cdot fleft(frac{a b}{2}right)
  • 使用复化梯形公式:
int_{a}^{b} f(x) ,dx approx frac{h}{2} left[ f(x_0) 2f(x_1) 2f(x_2) ldots 2f(x_{n-1}) f(x_n) right]

三、程序

1. 中点公式

代码语言:javascript复制
def midpoint_rule(data):
    result = 0
    for i in range(len(data) - 1):
        a, fa = data[i]
        b, fb = data[i   1]
        result  = (b - a) * fb
    return result

2. 梯形公式

代码语言:javascript复制
def trapezoidal_rule(data):
    result = 0
    for i in range(len(data) - 1):
        a, fa = data[i]
        b, fb = data[i   1]
        result  = (b - a) * (fa   fb) / 2
    return result

0 人点赞