本文内容对应我的博客中微积分笔记总目录下的第二章,导数和微分的应用。
2. 导数和微分的应用(Applications)
本章主要总结一些导数的应用和一条与导数有关的定理(中值定理)
2.1 线性和二次近似(Linear and Quadratic Approximation)
2.1.1 线性近似
什么是线性近似?
如果已知函数 f(x) 的某一点坐标 (x0, f(x0)) 和这一点的导数 f′(x0),我们就可以该点的切线来估计 f(x) 在点 x0 附近的数值,即:f(x)≈f(x0)+f′(x0)(x−x0)
从图像上理解的话参考下图。
如何理解线性近似?
从导数的定义中我们知道:
f′(x0)=Δx→0limΔxΔf
这时候我们从右往左思考这个方程,会发现,
ΔxΔf=x−x0f(x)−f(x0)≈f′(x0)
化简之后很显然:
f(x)≈f(x0)+f′(x0)(x−x0)
需要注意线性近似的前提一定是 Δx 足够小才可以。如果超出这个范围,参考上图可以发现,结果是非常非常不准确的。
另外,为了再简化整个求解过程,通常我们会让 x0=0,显然函数得在零点有导数。公式就简化成:
f(x)≈f(0)+f′(0)x
例如,正余弦函数在零点附近的的线性近似:
无穷小量与线性近似
与上文的公式相比,用无穷小量来表示线性近似更简单,由于我们要求解的点几乎紧挨着点(x, y),所以此点可以表示成(x0+dx, y0+dy),那么
f(x0+dx)≈y+dy
其中 dy=,最后的公式为:
f(x0+dx)≈y+f′(x0)dx
常用函数在零点的线性近似总结:
- sinx≈xcosx≈1(ifx≈0)
- ln(1+x)≈xorlnx≈x−1(ifx≈0)
- (1+x)r≈1+rx(ifx≈0)
- ex≈1+x(ifx≈0)
对于比较复杂的函数,比如 P(x)/Q(x) 这种形式的函数,我们可以直接带入P(x), Q(x) 的线性近似再相除即可。
2.1.2 二次近似
相关公式
二次近似的公式只是在线性近似的基础上加了一个二次项,即:
f(x)≈Linear Partf(x0)+f′(x0)(x−x0)+Quadratic Part2f′′(x0)(x−x0)2
在零点附近的二次近似公式为:
f(x)≈Linear Partf(0)+f′(0)x+Quadratic Part2f′′(0)x2
如何解释多出来的二次项?
一切都源于二次函数的一般形式,f(x)=ax2+bx+c。
它的一阶和二阶导数为:
f′(x)=2ax+b;f′′(x)=2a
带入点 x0,可以算出:
f′′(x0)=2a→a=2f′′(x0)
(二次近似与之后的泰勒级数是一致的)
当要求复杂函数的二次近似的时候,多项式与多项式成绩之后的结果一定包含比二次项更高阶的项,但是不需要考虑这些高阶项,直接删掉即可。
2.2 画草图(Curve Sketching)
粗略地画出一个给定函数的图像有助于我们理解函数的一些性质。在画图的过程中,导数有着非同小可的作用。
步骤
画草图的一般思路是从一些特殊的点着手,之后看一阶二阶导数,最后整合信息画图。
具体步骤为:
- 画出以下的点:
- 函数的终止点,即 x→±∞
- 不连续的点(没有定义的点,如分母为0的情况)
- 其他容易求的点(option)
- 找出临界点(Critical Point)和拐点(Inflection Point),即 f′(x)=0 的点 (x0,f(x0)),并找到自变量 x 的区间。
- 判断 f′(x)>0 或者 f′(x)<0 的区间,并判断其增减性(在某一区间内,f′(x)>0 函数递增,f′(x)<0 函数递减,增减性的证明请参考‘中值定理’部分)
- 判断 f′′(x)>0 或者 f′′(x)<0 的区间,并判断其凹凸性(在某一区间内,f′′(x)>0 函数concave up,f′′(x)<0 函数concave down;这里,Concave的朗文字典解释是:a concave surface is curved inwards in the middle,意思是有一条水平直线,concave up就是直线两端向上弯曲,反之向下,请自行理解)
- 整合以上信息,开始做图。
最值
由以上步骤,求函数的最大值和最小值也就非常明显了。
最大值的地方:f′(x0)=0, f′′(x0)<0
最小值的地方:f′(x0)=0, f′′(x0)>0
(通过隐式函数微分的方法求出来的最值点,其表达式可以写成 x, y 的比例,因此也被称为相对率,Related Rates)
举例
画出函数f(x)=x/lnx的大致曲线。
中间步骤我就不写了,结果如下
2.3 牛顿法求根(Newton’s Method)
在听到牛顿法求根这一段的时候,我突然想到大二在学《MATLAB与数值计算》这门课程时详细介绍了牛顿法,这是一个比较好理解的计算机处理函数根的方法之一。
基本思路
牛顿法的基本思路是先猜一个可能的点(最好靠近根,如果离函数的根太远就会找错根甚至找不到),然后通过做该点的切线找到与 x轴的交点,再以此类推,直到找到准确的根或者满足人为设定的准确度即可。
定义及表达式
每一次迭代的代数表达式为:
xn+1=xn−f′(xn)f(xn)
简单验证(Double Check!)
如上图所示,红线代表在点 x0 处的切线,通过几何关系我们可以得到:
f′(x0)=x1−x00−f(x0)→x1=x0−f′(x0)f(x0)
之后的迭代也同理。
每次迭代准确率的变化
为了衡量牛顿法的准确率,我们需要在每次迭代后计算误差 En=∣x−xn∣,公式中的 x 代表函数准确的零点,xn 是估算值。经过实验发现,每次迭代之后的误差数量级是以二次方的速度下降的。如下表,
E0 |
E1 |
E2 |
E3 |
E4 |
10−1 |
10−2 |
10−4 |
10−8 |
10−16 |
如果initial guess比较合理,那么只需要几次迭代,牛顿法就能找到比较准确的零点了。
但要注意的是,牛顿法在 ∣f′(x)∣ 的值特别小(如 lnx),∣f′′(x)∣ 特别大的时候(如非常陡的抛物线)会失去效力;除此之外,第一个数猜错了会导致牛顿法的结果并不是我们想要的零点,甚至会不断震荡(震荡原理如下图)。
2.4 中值定理(Mean Value Theorem)
中值定理也涉及到了导数,所以我把中值定理归类到了导数的应用当中。
2.4.1 中值定理的内容
如果函数 f(x) 在区间 x∈(a,b) 是可导的,在区间x∈[a,b] 上是连续的,那么
b−af(b)−f(a)=f′(c)(for a≤c≤b)
a≤x≤bminf′(c)≤b−af(b)−f(a)=f′(c)≤a≤x≤bmaxf′(c)(for a≤c≤b)
2.4.2 中值定理的几何解释
用几何图形来解释中值定理的过程如下图所示,
(注意,与 a, b 两点割线斜率相同的点在给定区间 (a,b) 可以有很多,并不是惟一的)
2.4.3 中值定理的应用
A. 用中值定理证明函数增减行和其导数的关系
早在高中时候我们就学到,在某一区间内,如果 f′>0,函数递增;如果f′<0,函数递减。中值定理为我们提供了证明方法。
中值定理的内容是:b−af(b)−f(a)=f′(c)(for a≤c≤b)
可以得到,
f(b)−f(a)=f′(c)(b−a)
在区间 x∈[a,b] 上 b>a,那么如果函数的一阶导数 f′(c)>0,则f(b)>f(a),函数单调递增;反之,f(b)<f(a)
B. 证明不等式
例:
求证当 x>0 时,ex>1+x
令f(x)=ex−(1+x),f(0)=0,f′(x)=ex−1。当 x>0 时,f′(x)>0,函数递增,所以 f(x)=ex−(1+x)>f(0),即 ex>1+x