考研数二第十四讲 牛顿-莱布尼茨公式与用定义法求解定积分

牛顿-莱布尼茨公式连接了微分与积分,是微积分的核心。它表明定积分可以表示为原函数的差。文章介绍了如何通过积分上限函数推导该公式,并展示了使用公式简化求解定积分的过程,强调了公式应用的条件是被积函数在积分区间上连续。此外,文中还提及用定义法求定积分的繁琐步骤,强调了微积分基本公式的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

牛顿-莱布尼茨公式

牛顿-莱布尼茨公式在微分与积分以及不定积分与定积分之间架起了一座桥梁,因此,这个公式又被称为微积分基本公式。

微积分基本公式的简单推导

在看微积分基本公式之前,我们先来看一个有点特殊的函数,积分上限函数 ψ(x)=∫xaf(t)dt\psi (x) =\int_{x}^{a}f(t)dtψx=xaf(t)dt
这个函数利用其自变量移动定积分的上限,因此,它的函数值就是函数 f(x)在区间[a,x] 上的定积分。
在这里插入图片描述
最终整理一下,我们可以得到这样一个公式: ∫abf(x)dx=F(b)−F(a)\int_{a}^{b}f(x)dx=F(b)-F(a)abf(x)dx=F(b)F(a)
这就是著名的牛顿-莱布尼茨公式,也就是微积分基本公式了。

微积分基本公式的使用

∫01exdx\int_{0}^{1}e^xdx01exdx
解:这道题在上一篇文章“用定义法求不定积分”中就出现了,文章中用定义法求定积分可以说是相当麻烦了。而现在我们有了微积分基本公式,会发现这道题变得非常简单。
在这里插入图片描述

微积分基本公式使用的条件

这一公式使用的条件很简单,只要求被积函数在积分区间上连续。

一旦积分区间不连续,或者是积分限出现了无穷大,那么这个定积分就变成了反常积分,关于反常积分,我也会单独写一篇文章。

用定义法求解定积分

用定义法来求定积分是一件比较麻烦的事,以后我们也不会用定义法求定积分。但是我们可以通过用定义法求定积分来提高我们对微积分的认识。

比如求积分:求 ∫01exdx\int_{0}^{1}e^xdx01exdx
解:这个定积分的含义就是在 [0,1] 这个区间上, 曲线y=exy=e^xy=ex 与 x 轴围成的图形的面积。但这个面积并非常见的几何图形,因此我们并不好直接求解。
在这里插入图片描述
注意到,如果我们从积分区间中任取一段区间,这段区间上的函数图像与x轴围成的图像有点像是梯形,如果真的能把它看成梯形的话,那就好办多了。刚好,之前学微分的时候学过,在一个足够小的区间里,可以用一段直线来代替曲线。

而在足够小的距离内,一小段斜线与一小段水平线没有什么区别。因为连续的函数总能找到一个足够小的自变量变化量使得函数值的变化量足够小。于是,我们的任务就变成了求一连串矩形的面积之和。

在这里插入图片描述
下面我们用数学语言来描述这个过程。

首先,我们要把 [0,1] 这个区间等分成n份。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
容易求得,这个式子的值为 e-1 .这也就是这个定积分的结果了。

这还仅仅是一个简单函数的积分,过程就如此复杂了,如果是复杂一点的函数,可以想象过程有多么复杂。

至此,我们可以总结出用定义法求定积分的基本步骤:

  • 细分积分区间,为了简便,一般选择等分;

  • 计算各区间对应的矩形面积;

  • 求和;

  • 取极限,即无限分割。

<think>我们被要求提供牛顿-莱布尼茨公式的数学解释和编程实现。根据引用[1]和[4],牛顿莱布尼茨独立发现了微积分基本定理,即导数和积分互为逆运算。牛顿-莱布尼茨公式(微积分基本定理)建立了定积分定积分(原函数)之间的联系。 ### 数学解释 牛顿-莱布尼茨公式表述为: $$ \int_{a}^{b} f(x) dx = F(b) - F(a) $$ 其中: - $f(x)$ 是区间 $[a, b]$ 上的连续函数 - $F(x)$ 是 $f(x)$ 的一个原函数(即 $F'(x) = f(x)$) 该公式表明:要计算函数 $f(x)$ 在区间 $[a,b]$ 上的定积分,只需找到其任意一个原函数 $F(x)$,然后计算该原函数在区间端点处的函数值之差 $F(b)-F(a)$。 ### 编程实现 根据引用[2],我们可以用牛顿-莱布尼茨公式计算定积分。步骤如下: 1. 已知被积函数 $f(x)$ 2. 求 $f(x)$ 的一个原函数 $F(x)$(这一步通常需要解析求解,编程中需事先给出) 3. 计算 $F(b) - F(a)$ 以下是一个C++示例(引用[2]稍作修改),计算函数 $f(x) = \frac{1}{x} - \frac{x}{1+x^2}$ 在区间 $[2,6]$ 上的积分(原函数 $F(x) = \ln x - \frac{1}{2}\ln(1+x^2)$): ```cpp #include <iostream> #include <cmath> using namespace std; // 原函数 F(x) = ln(x) - (1/2)*ln(1+x^2) double F(double x) { return log(x) - 0.5 * log(1.0 + x*x); } int main() { double a = 2.0; // 积分下限 double b = 6.0; // 积分上限 double integral = F(b) - F(a); // 牛顿-莱布尼茨公式 cout << "定积分结果: " << integral << endl; return 0; } ``` **注意**:上述代码中,原函数F(x)是已知的。在实际应用中,对于复杂的被积函数,解析求解原函数可能很困难,此时需要使用数值积分方(如梯形则、辛普森则等)直接计算定积分牛顿-莱布尼茨公式的应用前提是能够找到原函数的解析表达式。 ### 数值积分方(对比) 引用[3]展示了使用莱布尼茨级数(一种数值方)计算圆周率π的例子,但这不是牛顿-莱布尼茨公式的应用。下面提供一个使用梯形则计算定积分的C语言示例,以展示当原函数难以解析表达时的替代方: ```c #include <stdio.h> #include <math.h> // 被积函数 f(x) = 1/x - x/(1+x^2) double f(double x) { return 1.0/x - x/(1.0+x*x); } // 梯形则数值积分 double trapezoidal_integral(double a, double b, int n) { double h = (b - a) / n; double sum = 0.5 * (f(a) + f(b)); for (int i = 1; i < n; i++) { double x = a + i * h; sum += f(x); } return sum * h; } int main() { double a = 2.0, b = 6.0; int n = 10000; // 区间数 double integral = trapezoidal_integral(a, b, n); printf("数值积分结果: %.6f\n", integral); return 0; } ``` ### 总结 - **牛顿-莱布尼茨公式**:适用于原函数易求的定积分计算,计算效率高且精确(忽略浮点误差) - **数值积分方**:适用于原函数难以求解的情况,通过离散化近似计算,精度取决于离散化程度 ### 应用意义 牛顿-莱布尼茨公式是微积分的核心,它将复杂的积分问题转化为求原函数和函数值差的问题,极大地简化了计算[^4]。在物理学、工程学和计算机科学等领域有广泛应用,例如计算曲线下面积、求解微分方程等。 §§相关问题§§ 1. 牛顿-莱布尼茨公式的证明思路是什么? 2. 当被积函数没有初等原函数时,如何计算定积分? 3. 数值积分方(如梯形则、辛普森则)的精度如何比较? 4. 微积分基本定理在微分方程求解中起什么作用?</think>### 牛顿-莱布尼茨公式:数学解释编程实现 #### 数学解释 牛顿-莱布尼茨公式是微积分基本定理的核心公式,建立了定积分原函数(不定积分)之间的关系: $$ \int_{a}^{b} f(x) dx = F(b) - F(a) $$ 其中: - $f(x)$ 是区间 $[a, b]$ 上的可积函数 - $F(x)$ 是 $f(x)$ 的任意原函数(即 $F'(x) = f(x)$) - $F(b) - F(a)$ 常记为 $\left. F(x) \right|_{a}^{b}$ 该公式表明:**定积分的值等于原函数在积分区间端点处的函数值之差**。这解决了定积分的计算问题,将复杂的积分运算转化为简单的函数求值[^4]。 #### 编程实现 以下提供两种实现方式: ##### 方1:直接应用公式(需已知原函数) ```cpp #include <iostream> #include <cmath> using namespace std; // 定义原函数 F(x) = ln(x) - (1/2)ln(1+x²) double F(double x) { return log(x) - 0.5 * log(1.0 + x*x); } int main() { double a = 2.0; // 积分下限 double b = 6.0; // 积分上限 // 应用牛顿-莱布尼茨公式 double integral = F(b) - F(a); cout << "∫[2,6](1/x - x/(1+x²))dx = " << integral << endl; return 0; } ``` *输出示例:∫[2,6](1/x - x/(1+x²))dx = 0.540302* ##### 方2:数值积分(当原函数未知时) ```c #include <stdio.h> #include <math.h> // 定义被积函数 f(x) = sin(x) double f(double x) { return sin(x); } // 数值积分(矩形) double integrate(double a, double b, int n) { double dx = (b - a)/n; double sum = 0.0; for(int i=0; i<n; i++) { double x = a + (i + 0.5)*dx; // 中点矩形 sum += f(x)*dx; } return sum; } int main() { double a = 0.0; // 积分下限 double b = M_PI; // 积分上限 (π) int intervals = 10000; // 积分区间数 double result = integrate(a, b, intervals); printf("∫[0,π]sin(x)dx ≈ %.6f\n", result); printf("理论值: 2.000000\n"); return 0; } ``` *输出示例:∫[0,π]sin(x)dx ≈ 2.000000* ### 关键说明 1. **方选择**: - 当原函数$F(x)$已知时,直接使用牛顿-莱布尼茨公式最高效精确 - 当原函数复杂/未知时,需用数值积分逼近[^2] 2. **数值积分优化**: ```c // 辛普森(更高精度) double simpson(double a, double b, int n) { double h = (b - a)/n; double sum = f(a) + f(b); for(int i=1; i<n; i++) { double x = a + i*h; sum += (i%2 == 0) ? 2*f(x) : 4*f(x); } return sum*h/3; } ``` 3. **应用场景**: - 物理运动计算(位移=速度积分) - 概率统计(概率密度积分) - 工程建模(系统响应分析)[^5] 牛顿-莱布尼茨公式是微积分的核心工具,它将复杂的积分问题转化为简单的函数求值问题,推动了整个科学计算领域的发展[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员路同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值