单变量微积分笔记——导数的应用

时间:2024-04-08 13:03:42

本文内容对应我的博客中微积分笔记总目录下的第二章,导数和微分的应用。

2. 导数和微分的应用(Applications)

本章主要总结一些导数的应用和一条与导数有关的定理(中值定理)

2.1 线性和二次近似(Linear and Quadratic Approximation)

2.1.1 线性近似

什么是线性近似?

如果已知函数 f(x)f(x) 的某一点坐标 (x0, f(x0))(x_0,\ f(x_0)) 和这一点的导数 f(x0)f'(x_0),我们就可以该点的切线来估计 f(x)f(x) 在点 x0x_0 附近的数值,即:f(x)f(x0)+f(x0)(xx0)f(x)\approx f(x_0)+f'(x_0)(x-x_0)
从图像上理解的话参考下图。单变量微积分笔记——导数的应用

如何理解线性近似?

从导数的定义中我们知道:
f(x0)=limΔx0ΔfΔxf'(x_0)=\lim_{\Delta x\to 0}\frac{\Delta f}{\Delta x}
这时候我们从右往左思考这个方程,会发现,
ΔfΔx=f(x)f(x0)xx0f(x0)\frac{\Delta f}{\Delta x}=\frac{f(x)-f(x_0)}{x-x_0}\approx f'(x_0)
化简之后很显然:
f(x)f(x0)+f(x0)(xx0)f(x)\approx f(x_0)+f'(x_0)(x-x_0)
需要注意线性近似的前提一定是 Δx\Delta x 足够小才可以。如果超出这个范围,参考上图可以发现,结果是非常非常不准确的。
另外,为了再简化整个求解过程,通常我们会让 x0=0x_0=0,显然函数得在零点有导数。公式就简化成
f(x)f(0)+f(0)xf(x)\approx f(0)+f'(0)x
例如,正余弦函数在零点附近的的线性近似:
单变量微积分笔记——导数的应用

无穷小量与线性近似

与上文的公式相比,用无穷小量来表示线性近似更简单,由于我们要求解的点几乎紧挨着点(x, y)(x,\ y),所以此点可以表示成(x0+dx, y0+dy)(x_0+dx,\ y_0+dy),那么
f(x0+dx)y+dyf(x_0+dx)\approx y+dy
其中 dy=dy=,最后的公式为:
f(x0+dx)y+f(x0)dxf(x_0+dx)\approx y+f'(x_0)dx

常用函数在零点的线性近似总结:

  1. sinxxcosx1(ifx0)\sin x\approx x\quad \cos x\approx1\quad(\text{if} \quad x\approx 0)
  2. ln(1+x)xorlnxx1(ifx0)\ln(1+x)\approx x\quad or \quad\ln x\approx x-1\quad(\text{if} \quad x\approx 0)
  3. (1+x)r1+rx(ifx0)(1+x)^r\approx 1+rx\quad(\text{if} \quad x\approx 0)
  4. ex1+x(ifx0)e^x\approx 1+x\quad(\text{if} \quad x\approx 0)

对于比较复杂的函数,比如 P(x)/Q(x)P(x)/Q(x) 这种形式的函数,我们可以直接带入P(x), Q(x)P(x),\ Q(x) 的线性近似再相除即可。

2.1.2 二次近似

相关公式

二次近似的公式只是在线性近似的基础上加了一个二次项,即:
f(x)f(x0)+f(x0)(xx0)Linear Part+f(x0)2(xx0)2Quadratic Partf(x)\approx \underbrace{f(x_0)+f'(x_0)(x-x_0)}_{\text{Linear Part}}+\underbrace{\frac{f''(x_0)}{2}(x-x_0)^2}_\text{Quadratic Part}
在零点附近的二次近似公式为:
f(x)f(0)+f(0)xLinear Part+f(0)2x2Quadratic Partf(x)\approx \underbrace{f(0)+f'(0)x}_{\text{Linear Part}}+\underbrace{\frac{f''(0)}{2}x^2}_\text{Quadratic Part}

如何解释多出来的二次项?

一切都源于二次函数的一般形式,f(x)=ax2+bx+cf(x)=ax^2+bx+c
它的一阶和二阶导数为:
f(x)=2ax+b;f(x)=2af'(x)=2ax+b;\quad f''(x)=2a
带入点 x0x_0,可以算出:
f(x0)=2aa=f(x0)2f''(x_0)=2a\quad \to\quad a=\frac{f''(x_0)}{2}

(二次近似与之后的泰勒级数是一致的)

当要求复杂函数的二次近似的时候,多项式与多项式成绩之后的结果一定包含比二次项更高阶的项,但是不需要考虑这些高阶项,直接删掉即可。

2.2 画草图(Curve Sketching)

粗略地画出一个给定函数的图像有助于我们理解函数的一些性质。在画图的过程中,导数有着非同小可的作用。

步骤

画草图的一般思路是从一些特殊的点着手,之后看一阶二阶导数,最后整合信息画图。
具体步骤为:

  1. 画出以下的点:
  • 函数的终止点,即 x±x\to\pm\infty
  • 不连续的点(没有定义的点,如分母为0的情况)
  • 其他容易求的点(option)
  1. 找出临界点(Critical Point)和拐点(Inflection Point),即 f(x)=0f'(x)=0 的点 (x0,f(x0))(x_0, f(x_0)),并找到自变量 xx 的区间。
  2. 判断 f(x)>0f'(x)>0 或者 f(x)<0f'(x)<0 的区间,并判断其增减性(在某一区间内,f(x)>0f'(x)>0 函数递增,f(x)<0f'(x)<0 函数递减,增减性的证明请参考‘中值定理’部分)
  3. 判断 f(x)>0f''(x)>0 或者 f(x)<0f''(x)<0 的区间,并判断其凹凸性(在某一区间内,f(x)>0f''(x)>0 函数concave up,f(x)<0f''(x)<0 函数concave down;这里,Concave的朗文字典解释是:a concave surface is curved inwards in the middle,意思是有一条水平直线,concave up就是直线两端向上弯曲,反之向下,请自行理解)
  4. 整合以上信息,开始做图。

最值

由以上步骤,求函数的最大值和最小值也就非常明显了。
最大值的地方:f(x0)=0, f(x0)<0f'(x_0)=0,\ f''(x_0)<0
最小值的地方:f(x0)=0, f(x0)>0f'(x_0)=0,\ f''(x_0)>0
(通过隐式函数微分的方法求出来的最值点,其表达式可以写成 x, yx,\ y比例,因此也被称为相对率,Related Rates

举例

画出函数f(x)=x/lnxf(x)=x/\ln x的大致曲线。
中间步骤我就不写了,结果如下
单变量微积分笔记——导数的应用

2.3 牛顿法求根(Newton’s Method)

在听到牛顿法求根这一段的时候,我突然想到大二在学《MATLAB与数值计算》这门课程时详细介绍了牛顿法,这是一个比较好理解的计算机处理函数根的方法之一。

基本思路

牛顿法的基本思路是先猜一个可能的点(最好靠近根,如果离函数的根太远就会找错根甚至找不到),然后通过做该点的切线找到与 xx轴的交点,再以此类推,直到找到准确的根或者满足人为设定的准确度即可。

定义及表达式

每一次迭代的代数表达式为:
xn+1=xnf(xn)f(xn)x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}

简单验证(Double Check!)
单变量微积分笔记——导数的应用
如上图所示,红线代表在点 x0x_0 处的切线,通过几何关系我们可以得到:
f(x0)=0f(x0)x1x0x1=x0f(x0)f(x0)f'(x_0)=\frac{0-f(x_0)}{x_1-x_0}\quad \to \quad x_1=x_0-\frac{f(x_0)}{f'(x_0)}
之后的迭代也同理。

每次迭代准确率的变化

为了衡量牛顿法的准确率,我们需要在每次迭代后计算误差 En=xxnE_n=|x-x_n|,公式中的 xx 代表函数准确的零点,xnx_n 是估算值。经过实验发现,每次迭代之后的误差数量级是以二次方的速度下降的。如下表,

E0E_0 E1E_1 E2E_2 E3E_3 E4E_4
10110^{-1} 10210^{-2} 10410^{-4} 10810^{-8} 101610^{-16}

如果initial guess比较合理,那么只需要几次迭代,牛顿法就能找到比较准确的零点了。
但要注意的是,牛顿法在 f(x)|f'(x)| 的值特别小(如 lnx\ln x),f(x)|f''(x)| 特别大的时候(如非常陡的抛物线)会失去效力;除此之外,第一个数猜错了会导致牛顿法的结果并不是我们想要的零点,甚至会不断震荡(震荡原理如下图)。
单变量微积分笔记——导数的应用

2.4 中值定理(Mean Value Theorem)

中值定理也涉及到了导数,所以我把中值定理归类到了导数的应用当中。

2.4.1 中值定理的内容

如果函数 f(x)f(x) 在区间 x(a,b)x\in(a,b) 是可导的,在区间x[a,b]x\in[a,b] 上是连续的,那么
f(b)f(a)ba=f(c)(for  acb)\frac{f(b)-f(a)}{b-a}=f'(c)\quad (\text{for}\ \ a\leq c\leq b)
minaxbf(c)f(b)f(a)ba=f(c)maxaxbf(c)\min_{a\leq x\leq b}f'(c)\leq\frac{f(b)-f(a)}{b-a}=f'(c)\leq \max_{a\leq x\leq b}f'(c)\quad (for  acb)(\text{for}\ \ a\leq c\leq b)

2.4.2 中值定理的几何解释

用几何图形来解释中值定理的过程如下图所示,
单变量微积分笔记——导数的应用
(注意,与 a, ba,\ b 两点割线斜率相同的点在给定区间 (a,b)(a,b) 可以有很多,并不是惟一的)

2.4.3 中值定理的应用

A. 用中值定理证明函数增减行和其导数的关系

早在高中时候我们就学到,在某一区间内,如果 f>0f'>0,函数递增;如果f<0f'<0,函数递减。中值定理为我们提供了证明方法。
中值定理的内容是:f(b)f(a)ba=f(c)(for  acb)\frac{f(b)-f(a)}{b-a}=f'(c)\quad (\text{for}\ \ a\leq c\leq b)
可以得到,
f(b)f(a)=f(c)(ba)f(b)-f(a)=f'(c)(b-a)
在区间 x[a,b]x\in[a,b]b>ab>a,那么如果函数的一阶导数 f(c)>0f'(c)>0,则f(b)>f(a)f(b)>f(a),函数单调递增;反之,f(b)<f(a)f(b)<f(a)

B. 证明不等式

例:
求证当 x>0x>0 时,ex>1+xe^x>1+x
f(x)=ex(1+x)f(x)=e^x-(1+x)f(0)=0f(0)=0f(x)=ex1f'(x)=e^x-1。当 x>0x>0 时,f(x)>0f'(x)>0,函数递增,所以 f(x)=ex(1+x)>f(0)f(x)=e^x-(1+x)>f(0),即 ex>1+xe^x>1+x