Wang Haihua
🍈 🍉🍊 🍋 🍌
本文将介绍导数的概念和常用函数的导数。
我们首先来看变化率。我们可以通过将函数值的差值除以$x$坐标的差值来计算函数的变化率:
$$ \dfrac{\Delta f(x)}{\Delta x} = \dfrac{f(x+\Delta x) - f(x)}{\Delta x} $$这里$\Delta f(x)$代表函数值的差值,$\Delta x$代表自变量的差值。如果变化率为正,则函数值增加,如果变化率为负,则函数值减少。
变化率是物理中常用的概念。设想一辆汽车在高速公路上行驶。汽车在时间$t_0$的位置是$q(t_0)$而它在时间$t_0 + t$的位置是$q(t_0 + t)$。汽车的速度定义为空间差与时间差的比值:
$$ v = \dfrac{q(t_0 + \Delta t) - q(t_0)}{t_0 + \Delta t - t_0} = \dfrac{\Delta q}{\Delta t} $$可以通过上式看到这是位置函数$q(t)$相对于时间步长$\Delta t$的差。这只是汽车速度变化的近似值。然而,如果时间步长$\Delta t$非常小,这个近似会变得越来越接近真实值(因为速度不能在非常小的时间内改变太多)。
物理中还有瞬时变化率的概念。我们将定义函数的瞬时变化率为变化率的极限:
$$ \dfrac{d f(x)}{d x} = \displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{\Delta f(x)}{\Delta x} = \displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{f(x+\Delta x) - f(x)}{\Delta x} $$这个极限是一个关于$\frac{0}{0}$不定式(因为$\Delta t$和$\Delta f(x)$都趋向于零)。不过,这个极限常常是存在的, 我们称函数$\frac{d f(x)}{d x}$为$f(x)$的导数。导函数告诉我们每一个$x$的瞬时变化率。
导数的几何解释是切线的斜率。如果我们有一个函数$f(x)$和两个点$x_0$和$x_0 + \Delta x$,那么有一条直线与函数在笛卡尔坐标$(x_0,f(x_0))$和$(x_0 + \Delta x,f(x_0 + \Delta x))$相交。
这条直线的斜率就是函数的平均变化率。如果$\Delta x$越来越小,那么这两个点就会越来越近。在$\Delta x$趋于无穷时,函数的图像$f(x)$和这条直线将(局部地)接触到一个点$x_0$。这条极限线称为曲线在$x_0$附近的切线,其斜率为导数$\frac{df(x_0)}{dx}$。
我们来考虑如何寻找$x_0$附近的最佳线性近似。这个线性函数应该有有以下形式: $$ l(x) = f(x_0) + b (x - x_0) $$ 事实上: $$ l(x_0) = f(x_0) + b (x_0 - x_0) = f(x_0) $$
直线的斜率$b$是多少?几何上很清楚,这个最佳线性近似应该是$f(x)$在$x_0$处的切线。因此斜率$b$应该是$f(x)$在$x_0 $处的导数。 这样我们就可以写出我们的近似值: $$ f(x) \approx f(x_0) + \dfrac{df(x_0)}{dx} (x - x_0) $$
证明 $$ \displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{c - c}{\Delta x} = \displaystyle\lim_{\Delta x \rightarrow 0} 0 = 0 $$
证明
$$
\displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{(c + b(x + \Delta x)) - (c + b x)}{\Delta x} = \displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{b\Delta x}{\Delta x} = b
$$
证明
$$
\displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{(x + \Delta x)^2 - x^2}{\Delta x} = \displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{x^2 - 2x \Delta x + (\Delta x)^2 - x^2}{\Delta x} = \displaystyle\lim_{\Delta x \rightarrow 0} 2x \dfrac{\Delta x}{\Delta x} + \displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{(\Delta x)^2}{\Delta x} = 2x + 0 = 2x
$$
证明 需要用到著名的二项式定理, $$ (x+\Delta x)^p = \displaystyle\sum_{j=0}^p \displaystyle\binom{p}{j} x^j (\Delta x)^{p - j} $$ 具体证明略
证明
$$ \dfrac{df}{dx} = \displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{\mathrm{e}^{(x + \Delta x)} - \mathrm{e}^x}{\Delta x} $$利用指数函数的性质 $$ \mathrm{e}^{x+\Delta x} = \mathrm{e}^x \mathrm{e}^{\Delta x} $$ 所以有 $$ \dfrac{df}{dx} = \displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{\mathrm{e}^x (\mathrm{e}^{\Delta x} - 1)}{\Delta x} $$
利用等价无穷小的替换 $$ e^{\Delta x} - 1 \sim \Delta x $$ 当 $\Delta x \rightarrow 0$: $$ \dfrac{\mathrm{e}^x (\mathrm{e}^{\Delta x} - 1)}{\Delta x} \sim \dfrac{\mathrm{e}^x \Delta x}{\Delta x} $$ 显然 $$ \dfrac{df}{dx} = \displaystyle\lim_{\Delta x \rightarrow 0} \dfrac{\mathrm{e}^x \Delta x}{\Delta x} = \mathrm{e}^x $$
证明略
证明略
本文介绍了导数概念的定义,以及物理意义(瞬时变化率)、几何意义(斜率),简单介绍和证明了常用函数的导数。
import numpy as np
import matplotlib.pyplot as plt
import scipy as sp
import pandas as pd
import scipy.stats
plt.rcParams['font.family']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
%matplotlib inline
f = lambda x: x**2
df = lambda x: 2*x
fl = lambda x, x0: f(x0) + df(x0)*(x - x0)
x_range = np.linspace(0,1.5, 100)
x0 = 0.7
plt.axvline(x0, label="x_0", ls = "--", c="k")
plt.plot(x_range, f(x_range), label = "f(x)", c = "k")
plt.axhline(f(x0), label = "Best constant approximation around x_0", c = "r")
plt.legend(loc="upper left")
<matplotlib.legend.Legend at 0x1742e960bb0>
plt.axvline(x0, label="x_0", ls = "--", c="k")
plt.plot(x_range, f(x_range), label = "f(x)", c = "k")
plt.axhline(f(x0), c = "r")
plt.plot(x_range, fl(x_range,x0), label = r"$x_0$处的最佳线性近似")
plt.legend(loc="upper left")
plt.savefig('images/cal0301.png')