用Python来学微积分36-牛顿 - 莱布尼茨公式的深度解析
文章目录
- 一、牛顿 - 莱布尼茨公式
- 1、数学定义
- 2、手动求解
- 3、Python 代码
- 4、Python 代码执行结果
- 二、利用牛顿 - 莱布尼茨公式计算含三角函数的定积分
- 1、数学定义
- 2、手动求解
- 3、Python 代码
- 4、Python 代码执行结果
- 三、积分方程问题
- 1、数学定义
- 2、手动求解
- 3、Python 代码
- 4、Python 代码执行结果
- 四、利用定积分求极限(积分和)
- 1、数学定义
- 2、手动求解
- 3、Python 代码
- 4、Python 代码执行结果
在微积分的学习中,微积分基本公式,即牛顿 - 莱布尼茨公式,占据着极为重要的地位。它搭建起了不定积分与定积分之间的桥梁,为定积分的计算提供了一种高效且便捷的方法。
一、牛顿 - 莱布尼茨公式
1、数学定义
设函数 f ( x ) f(x) f(x) 在区间 [ a , b ] [a,b] [a,b] 上连续, F ( x ) F(x) F(x) 是 f ( x ) f(x) f(x) 在 [ a , b ] [a,b] [a,b] 上的一个原函数(即 F ′ ( x ) = f ( x ) F'(x)=f(x) F′(x)=f(x)),则有 ∫ a b f ( x ) d x = F ( b ) − F ( a ) \int_{a}^{b}f(x)dx = F(b)-F(a) ∫abf(x)dx=F(b)−F(a) 。此公式表明,一个连续函数在区间 [ a , b ] [a,b] [a,b] 上的定积分等于它的任意一个原函数在区间端点处的函数值之差。
2、手动求解
以求 ∫ 0 2 x 3 d x \int_{0}^{2}x^{3}dx ∫02x3dx 为例:
- 首先,找到被积函数 f ( x ) = x 3 f(x)=x^{3} f(x)=x3 的一个原函数 F ( x ) F(x) F(x) 。根据求导公式 ( x n ) ′ = n x n − 1 (x^n)' = nx^{n - 1} (xn)′=nxn−1 ,反推可得 F ( x ) = 1 4 x 4 F(x)=\frac{1}{4}x^{4} F(x)=41x4 ,因为 ( 1 4 x 4 ) ′ = x 3 (\frac{1}{4}x^{4})' = x^{3} (41x4)′=x3 。
- 然后,将区间端点 a = 0 a = 0 a=0 和 b = 2 b = 2 b=2 代入原函数 F ( x ) F(x) F(x) ,计算 F ( b ) − F ( a ) F(b)-F(a) F(b)−F(a) ,即 F ( 2 ) − F ( 0 ) = 1 4 × 2 4 − 1 4 × 0 4 = 4 − 0 = 4 F(2)-F(0)=\frac{1}{4}\times2^{4}-\frac{1}{4}\times0^{4}=4 - 0 = 4 F(2)−F(0)=41×24−41×04=4−0=4 。
3、Python 代码
from scipy.integrate import quad# 定义被积函数
def f(x):return x ** 3# 计算定积分
result, error = quad(f, 0, 2)
print("定积分结果:", result)
4、Python 代码执行结果
运行上述代码,输出结果为 定积分结果: 4.0 ,与我们手动计算的结果一致。

二、利用牛顿 - 莱布尼茨公式计算含三角函数的定积分
1、数学定义
对于形如 ∫ a b ( u ( x ) ± v ( x ) ) d x \int_{a}^{b}(u(x)\pm v(x))dx ∫ab(u(x)±v(x))dx 的定积分,根据定积分的线性性质,有 ∫ a b ( u ( x ) ± v ( x ) ) d x = ∫ a b u ( x ) d x ± ∫ a b v ( x ) d x \int_{a}^{b}(u(x)\pm v(x))dx=\int_{a}^{b}u(x)dx\pm\int_{a}^{b}v(x)dx ∫ab(u(x)±v(x))dx=∫abu(x)dx±∫abv(x)dx 。当被积函数包含三角函数时,同样先找到其原函数,再利用牛顿 - 莱布尼茨公式计算。
2、手动求解
以求 ∫ 0 π 2 ( 1 − 2 sin x ) d x \int_{0}^{\frac{\pi}{2}}(1 - 2\sin x)dx ∫02π(1−2sinx)dx 为例:
- 根据定积分的线性性质,将其拆分为两个定积分的差: ∫ 0 π 2 ( 1 − 2 sin x ) d x = ∫ 0 π 2 1 d x − 2 ∫ 0 π 2 sin x d x \int_{0}^{\frac{\pi}{2}}(1 - 2\sin x)dx=\int_{0}^{\frac{\pi}{2}}1dx-2\int_{0}^{\frac{\pi}{2}}\sin xdx ∫02π(1−2sinx)dx=∫02π1dx−2∫02πsinxdx 。
- 分别找到原函数, ∫ 1 d x = x + C \int 1dx=x+C ∫1dx=x+C , ∫ sin x d x = − cos x + C \int\sin xdx=-\cos x+C ∫sinxdx=−cosx+C 。
- 代入牛顿 - 莱布尼茨公式计算:
- ∫ 0 π 2 1 d x = x ∣ 0 π 2 = π 2 − 0 = π 2 \int_{0}^{\frac{\pi}{2}}1dx=x|_{0}^{\frac{\pi}{2}}=\frac{\pi}{2}-0=\frac{\pi}{2} ∫02π1dx=x∣02π=2π−0=2π 。
- 2 ∫ 0 π 2 sin x d x = − 2 cos x ∣ 0 π 2 = − 2 ( cos π 2 − cos 0 ) = − 2 ( 0 − 1 ) = 2 2\int_{0}^{\frac{\pi}{2}}\sin xdx=-2\cos x|_{0}^{\frac{\pi}{2}}=-2(\cos\frac{\pi}{2}-\cos0)=-2(0 - 1)=2 2∫02πsinxdx=−2cosx∣02π=−2(cos2π−cos0)=−2(0−1)=2 。
- 所以 ∫ 0 π 2 ( 1 − 2 sin x ) d x = π 2 − 2 \int_{0}^{\frac{\pi}{2}}(1 - 2\sin x)dx=\frac{\pi}{2}-2 ∫02π(1−2sinx)dx=2π−2 。
3、Python 代码
import numpy as np
from scipy.integrate import quad# 定义被积函数
def f(x):return 1 - 2 * np.sin(x)# 计算定积分
result, error = quad(f, 0, np.pi / 2)
print("定积分结果:", result)
4、Python 代码执行结果
运行代码,输出结果为 定积分结果: -0.42920367320510344 ,由于 π ≈ 3.14 \pi\approx3.14 π≈3.14 , π 2 − 2 ≈ 1.57 − 2 = − 0.43 \frac{\pi}{2}-2\approx1.57 - 2=-0.43 2π−2≈1.57−2=−0.43 ,与计算结果相符。

三、积分方程问题
1、数学定义
对于积分方程 f ( x ) = g ( x ) − ∫ a b f ( x ) d x f(x)=g(x)-\int_{a}^{b}f(x)dx f(x)=g(x)−∫abf(x)dx 这种形式,可通过令 ∫ a b f ( x ) d x = A \int_{a}^{b}f(x)dx = A ∫abf(x)dx=A(将定积分看作一个常数),将原方程转化为关于 f ( x ) f(x) f(x) 和 A A A 的方程,求解出 f ( x ) f(x) f(x) 后,再代入计算 A A A 的值。
2、手动求解
以求函数 f ( x ) f(x) f(x) 满足 f ( x ) = x 2 − ∫ 0 1 f ( x ) d x f(x)=x^{2}-\int_{0}^{1}f(x)dx f(x)=x2−∫01f(x)dx 中的 ∫ 0 1 f ( x ) d x \int_{0}^{1}f(x)dx ∫01f(x)dx 和 f ( x ) f(x) f(x) 的表达式为例:
- 令 ∫ 0 1 f ( x ) d x = A \int_{0}^{1}f(x)dx = A ∫01f(x)dx=A ,则 f ( x ) = x 2 − A f(x)=x^{2}-A f(x)=x2−A 。
- 对 f ( x ) = x 2 − A f(x)=x^{2}-A f(x)=x2−A 两边在区间 [ 0 , 1 ] [0,1] [0,1] 上积分:
- ∫ 0 1 f ( x ) d x = ∫ 0 1 ( x 2 − A ) d x \int_{0}^{1}f(x)dx=\int_{0}^{1}(x^{2}-A)dx ∫01f(x)dx=∫01(x2−A)dx 。
- 计算右边积分: ∫ 0 1 ( x 2 − A ) d x = ( 1 3 x 3 − A x ) ∣ 0 1 = 1 3 − A \int_{0}^{1}(x^{2}-A)dx=(\frac{1}{3}x^{3}-Ax)|_{0}^{1}=\frac{1}{3}-A ∫01(x2−A)dx=(31x3−Ax)∣01=31−A 。
- 因为 ∫ 0 1 f ( x ) d x = A \int_{0}^{1}f(x)dx = A ∫01f(x)dx=A ,所以 A = 1 3 − A A=\frac{1}{3}-A A=31−A ,移项可得 2 A = 1 3 2A=\frac{1}{3} 2A=31 ,解得 A = 1 6 A = \frac{1}{6} A=61 。
- 将 A = 1 6 A=\frac{1}{6} A=61 代入 f ( x ) = x 2 − A f(x)=x^{2}-A f(x)=x2−A ,得到 f ( x ) = x 2 − 1 6 f(x)=x^{2}-\frac{1}{6} f(x)=x2−61 。
3、Python 代码
from sympy import symbols, integrate, solve# 定义符号变量
x = symbols('x')
A = symbols('A')# 定义 f(x) 的表达式
f_x = x ** 2 - A# 计算定积分并建立方程
eq = integrate(f_x, (x, 0, 1)) - A# 解方程
solution = solve(eq, A)
f_x_final = f_x.subs(A, solution[0])print("∫₀¹f(x)dx 的值:", solution)
print("f(x) 的表达式:", f_x_final)
4、Python 代码执行结果
运行代码,输出结果为 ∫₀¹f(x)dx 的值: 1/6 ,f(x) 的表达式: x**2 - 1/6 ,与我们手动计算的结果相同。

四、利用定积分求极限(积分和)
1、数学定义
对于和式 ∑ k = 1 n f ( k n ) 1 n \sum_{k = 1}^{n}f(\frac{k}{n})\frac{1}{n} ∑k=1nf(nk)n1 ,当 n → ∞ n\to\infty n→∞ 时,其极限可以转化为定积分 ∫ 0 1 f ( x ) d x \int_{0}^{1}f(x)dx ∫01f(x)dx 。这是基于定积分的定义,将区间 [ 0 , 1 ] [0,1] [0,1] 进行 n n n 等分,每个小区间的长度为 Δ x = 1 n \Delta x=\frac{1}{n} Δx=n1 ,取 ξ k = k n \xi_k=\frac{k}{n} ξk=nk 作为每个小区间的代表点。
2、手动求解
以求极限 lim n → ∞ ∑ k = 1 n 1 n + k \lim_{n\to\infty}\sum_{k = 1}^{n}\frac{1}{n + k} limn→∞∑k=1nn+k1 为例:
- 对和式进行变形: ∑ k = 1 n 1 n + k = ∑ k = 1 n 1 n ( 1 + k n ) = 1 n ∑ k = 1 n 1 1 + k n \sum_{k = 1}^{n}\frac{1}{n + k}=\sum_{k = 1}^{n}\frac{1}{n(1+\frac{k}{n})}=\frac{1}{n}\sum_{k = 1}^{n}\frac{1}{1+\frac{k}{n}} ∑k=1nn+k1=∑k=1nn(1+nk)1=n1∑k=1n1+nk1 。
- 当 n → ∞ n\to\infty n→∞ 时,根据定积分定义,它等价于 ∫ 0 1 1 1 + x d x \int_{0}^{1}\frac{1}{1 + x}dx ∫011+x1dx 。
- 找到原函数 F ( x ) = ln ( 1 + x ) F(x)=\ln(1 + x) F(x)=ln(1+x) ,利用牛顿 - 莱布尼茨公式计算: ∫ 0 1 1 1 + x d x = ln ( 1 + x ) ∣ 0 1 = ln 2 − ln 1 = ln 2 \int_{0}^{1}\frac{1}{1 + x}dx=\ln(1 + x)|_{0}^{1}=\ln2-\ln1=\ln2 ∫011+x1dx=ln(1+x)∣01=ln2−ln1=ln2 。
3、Python 代码
import sympy as sp# 定义符号变量
x = sp.symbols('x')# 定义被积函数
f_x = 1 / (1 + x)# 计算定积分
result = sp.integrate(f_x, (x, 0, 1))
print("极限结果:", result)
4、Python 代码执行结果
运行代码,输出结果为 极限结果: log(2) ,即 ln 2 \ln2 ln2 ,与手动计算结果一致。

通过对牛顿 - 莱布尼茨公式及其应用的详细讲解与示例演示,希望能帮助大家更好地理解和掌握这一微积分中的重要工具。
往期精彩回顾:
- 用Python来学微积分33-定积分的应用实例详解
- 用Python来学微积分34-定积分的基本性质及其应用
- 用Python来学微积分35-变上限定积分
专栏导航目录 《程序员AI之路:从Python起步》完全学习导航
完整代码已开源 ai-learning-path,欢迎Star和Fork!
参考资料:
- 扈志明《微积分》教材
互动邀请:如果你对本章内容有独特的理解或在实际应用中遇到过有趣的问题,欢迎在评论区分享交流!
