跳转至

导数与微分基础:变化率的语言

一篇会成长的笔记。惯导解算通篇在做"积分",而积分就是微分的逆运算——所以先把"导数 / 微分"这块地基夯实。这里从直觉讲到严格定义,再讲到求导法则与泰勒展开,全程给推导,最后串回惯导(比力方程、姿态更新、误差线性化、ESKF)。每节末尾附外链 Wiki,随手回去补课。

核心要点

  • 导数 = 差商的极限 = 曲线切线斜率 = 瞬时变化率 = 该点附近最佳线性逼近的系数——这四种说法是同一个数。
  • 可导 ⟹ 连续;但连续 ⇏ 可导(尖点 \(|x|\)、竖直切线 \(x^{1/3}\) 两个经典反例)。
  • 微分 \(dy=f'(x)\,dx\) 是增量 \(\Delta y\)线性主部\(\Delta y = dy + o(\Delta x)\)
  • 惯导视角:姿态/速度/位置更新全是微分方程 + 数值积分;误差分析与卡尔曼/ESKF 全靠在状态方程处做一阶线性化(泰勒展开取一阶 ⟶ 雅可比 ⟶ 协方差传播 \(P=FPF^T+Q\))。

一、从平均变化率到瞬时变化率

一句话:先会算"一段路多快",再追问"某一瞬间多快"。

设函数 \(f(x)\),在 \(x_0\) 附近取一个增量 \(h\),函数值从 \(f(x_0)\) 变到 \(f(x_0+h)\)。这段区间上的平均变化率

\[\frac{\Delta y}{\Delta x} = \frac{f(x_0+h)-f(x_0)}{h}\]

这个量也叫差商——它就是曲线上两点 \((x_0, f(x_0))\)\((x_0+h, f(x_0+h))\) 所连割线的斜率

\(h\to 0\) 时,如果差商趋于一个确定的有限数,它就刻画了"某一瞬间的变化快慢"——瞬时变化率,也就是导数。

一句话的直觉:平均变化率是"这一段路平均多快",瞬时变化率是"这一瞬间表针指到多快"。 惯导里传感器的采样就是在不断地"取极限":采样率越高,\(\Delta t\) 越小,差分越接近导数。


二、导数的严格定义

\(f\)\(x_0\) 的某个邻域内有定义。若极限

\[f'(x_0)=\lim_{h\to 0}\frac{f(x_0+h)-f(x_0)}{h}\]

存在且有限,则称 \(f\)\(x_0\)可导,该极限值称为 \(f\)\(x_0\) 处的导数

等价写法:令 \(x=x_0+h\),则 \(h=x-x_0\)\(h\to 0\)\(x\to x_0\),于是

\[f'(x_0)=\lim_{x\to x_0}\frac{f(x)-f(x_0)}{x-x_0}\]

\(\varepsilon\)-\(\delta\) 语言严格化(考据派才需要,直觉派可跳过):

\[\forall\,\varepsilon>0,\ \exists\,\delta>0,\quad 0<|h|<\delta \ \Rightarrow\ \left|\frac{f(x_0+h)-f(x_0)}{h}-f'(x_0)\right|<\varepsilon\]

为什么不能直接代入 \(h=0\)

差商是 \(\frac{0}{0}\)未定式,不能直接代值。必须先化简(约分 / 有理化 / 提取公因子),把导致"\(0/0\)"的因子消掉,再让 \(h\to 0\)"先化简、再取极限"是所有用定义求导题的唯一套路。

导函数:若 \(f\) 在区间内每一点都可导,则 \(x\mapsto f'(x)\) 称为导函数(也说"求导"得到 \(f'\))。

常见记号(同一个对象):

记号 提出者 说明
\(f'(x)\) 拉格朗日 随手可写,最常用
\(\dfrac{dy}{dx}\) 莱布尼茨 强调"微商":\(dy\) 除以 \(dx\)
\(\dot{y}\) 牛顿 约定对时间求导,惯导 / 控制里大量使用

三、几何意义:割线 → 切线

一句话:导数就是"让割线转成切线"的那条直线的斜率。

  • 割线 \(PQ\) 斜率:\(m_h=\dfrac{f(x_0+h)-f(x_0)}{h}\)
  • \(h\to 0\)\(Q\to P\),割线的极限位置就是曲线在 \(P\) 处的切线,其斜率就是 \(f'(x_0)\)

于是曲线 \(y=f(x)\) 在点 \((x_0, f(x_0))\) 处的切线方程

\[y = f(x_0) + f'(x_0)\,(x-x_0)\]

法线(过切点、垂直于切线)斜率为 \(-1/f'(x_0)\)(当 \(f'(x_0)\neq 0\))。


四、物理意义:变化率与惯导的"积分语言"

一句话:一阶导数是变化率,二阶导数是变化率的变化率。

  • 位置 \(s(t)\) 的导数是瞬时速度:\(v(t)=s'(t)\)
  • 速度的导数是加速度:\(a(t)=v'(t)=s''(t)\)

惯导 = 一连串微分方程 + 数值积分

惯导的全部家当就是三个微分(运动)方程,全是"导数 + 积分"的关系:

  • 姿态:四元数微分方程 \(\dot{\boldsymbol q}=\tfrac12\,\boldsymbol q\otimes\boldsymbol\omega\)(陀螺输出角速度 \(\boldsymbol\omega\) → 积分出姿态)→ 07 姿态更新算法
  • 速度:比力方程 \(\dot{\boldsymbol v}^n = \boldsymbol C_b^n\,\boldsymbol f^b + \boldsymbol g^n\)(加计输出比力 \(\boldsymbol f\) → 积分出速度)→ 06 机械编排方程
  • 位置\(\dot{\boldsymbol p} = \boldsymbol v\)(速度再积分出位置)。

所以惯导本质上就是"从导数(传感器瞬时输出)反推原函数"的过程——理解导数与积分互逆,就理解了惯导在做什么。


五、更本质的理解:导数 = 最佳线性逼近

这是现代微积分(及后续一切线性化)的核心视角。

\(f\)\(x_0\) 可导,则对任意小量 \(h\)

\[f(x_0+h)=f(x_0)+f'(x_0)\,h+o(h),\qquad h\to 0\]

其中 \(o(h)\) 表示\(h\) 高阶的无穷小\(\dfrac{o(h)}{h}\to 0\)

推导(只要用导数定义 + 一个小技巧):

由定义 \(\dfrac{f(x_0+h)-f(x_0)}{h}\to f'(x_0)\),令

\[\varepsilon(h)=\frac{f(x_0+h)-f(x_0)}{h}-f'(x_0),\quad \varepsilon(h)\to 0\]

\[f(x_0+h)-f(x_0)=f'(x_0)\,h+\varepsilon(h)\,h=f'(x_0)\,h+o(h)\]

移项即得。反过来:若存在常数 \(L\) 使 \(f(x_0+h)=f(x_0)+Lh+o(h)\),则差商 \(\to L\),故 \(L=f'(x_0)\)

这说明:导数是在一点附近唯一能"用直线逼近曲线"的那个系数。

多元推广 = 雅可比矩阵(惯导线性化的根基)

\(f\) 换成向量函数、把 \(h\) 换成向量增量,"最佳线性逼近"变成

\[f(\boldsymbol x_0+\delta\boldsymbol x)=f(\boldsymbol x_0)+\underbrace{\dfrac{\partial f}{\partial\boldsymbol x}\Big|_{\boldsymbol x_0}}_{\text{雅可比 }J}\,\delta\boldsymbol x+o(\delta\boldsymbol x)\]

这正是 09 纯惯导误差传播、卡尔曼 / ESKF(1011)里"线性化"的全部秘密——把非线性系统在估计点处用一阶泰勒截断换成一个线性系统,再套卡尔曼那套成熟框架。


六、可导与连续:谁蕴含谁

可导必连续

把差商换一种写法:

\[f(x_0+h)-f(x_0)=\frac{f(x_0+h)-f(x_0)}{h}\cdot h \longrightarrow f'(x_0)\cdot 0 = 0\]

所以 \(\displaystyle\lim_{x\to x_0}f(x)=f(x_0)\),即 \(f\)\(x_0\) 连续

连续不一定可导(两个经典反例)

反例 1:尖点 \(f(x)=|x|\)\(x_0=0\)

  • \(h>0\)\(\dfrac{|h|-0}{h}=1\)
  • \(h<0\)\(\dfrac{|h|-0}{h}=\dfrac{-h}{h}=-1\)

左右极限不同 ⟹ \(f'(0)\) 不存在。几何上:\(0\) 处是一个"尖",切线斜率不唯一。

反例 2:竖直切线 \(f(x)=x^{1/3}\)\(x_0=0\)

\[\frac{h^{1/3}-0}{h}=h^{-2/3}\to +\infty\]

极限不是有限数 ⟹ 不可导。几何上:\(0\) 处切线竖直,斜率为"无穷大"。

直观结论:连续只保证"不断",可导还要求"不尖、不竖直"。 惯导/滤波里凡是要求可导、可微的地方,遇到"尖点类"状态(如速度过零、符号跳变)就要小心。

单侧导数

左导数、右导数:

\[f'_-(x_0)=\lim_{h\to 0^-}\frac{f(x_0+h)-f(x_0)}{h},\qquad f'_+(x_0)=\lim_{h\to 0^+}\frac{f(x_0+h)-f(x_0)}{h}\]

可导 ⟺ 左右导数都存在且相等

\[f'(x_0)\text{ 存在} \iff f'_-(x_0)=f'_+(x_0)\]

七、从定义出发:基本函数的导数推导

把"差商 → 化简 → 取极限"三连在几个基本函数上走一遍(这也是考研/考试计算的基本功)。

1. 常数函数 \(f(x)=c\)

\[\frac{f(x+h)-f(x)}{h}=\frac{c-c}{h}=0 \ \Rightarrow\ \boxed{(c)'=0}\]

2. 线性函数 \(f(x)=ax+b\)

\[\frac{a(x+h)+b-(ax+b)}{h}=\frac{ah}{h}=a \ \Rightarrow\ \boxed{(ax+b)'=a}\]

3. 平方函数 \(f(x)=x^2\)

\[\frac{(x+h)^2-x^2}{h}=\frac{x^2+2xh+h^2-x^2}{h}=2x+h \ \Rightarrow\ \boxed{(x^2)'=2x}\]

4. 幂函数 \(f(x)=x^n\)\(n\) 为正整数)

用因式分解(等差数列求和结构,共 \(n\) 项):

\[(x+h)^n-x^n=h\Big[(x+h)^{n-1}+(x+h)^{n-2}x+\cdots+x^{n-1}\Big]\]

除以 \(h\) 后令 \(h\to 0\),每一项都趋于 \(x^{n-1}\),共 \(n\) 项:

\[\boxed{(x^n)'=n\,x^{n-1}}\]

5. 正弦函数 \(f(x)=\sin x\)

用和角公式 \(\sin(x+h)=\sin x\cos h+\cos x\sin h\)

\[\frac{\sin(x+h)-\sin x}{h}=\sin x\,\frac{\cos h-1}{h}+\cos x\,\frac{\sin h}{h}\]

用到两个基本极限\(h\to 0\)):

\[\lim_{h\to0}\frac{\sin h}{h}=1,\qquad \lim_{h\to0}\frac{\cos h-1}{h}=0\]

前者可由单位圆夹逼得到,后者由 \(\cos h-1=-2\sin^2(h/2)\) 推出。于是

\[\boxed{(\sin x)'=\cos x}\qquad \boxed{(\cos x)'=-\sin x}\ \ (\text{同理})\]

6. 指数函数 \(f(x)=e^x\)

\[e^{x+h}-e^x=e^x(e^h-1),\qquad \lim_{h\to0}\frac{e^h-1}{h}=1\]
\[\boxed{(e^x)'=e^x}\]

基本极限记忆串:\(\dfrac{\sin h}{h}\to 1\)(扇形面积夹逼)、\(\dfrac{e^h-1}{h}\to 1\)\(e\) 的定义/对数导数)。这两个是做三角函数与指数函数"定义求导"时的钥匙。

常用导数表(速查):

\(f\) \(f'\) 备注
\(c\) \(0\) 常数
\(x^n\) \(n x^{n-1}\) 幂函数(\(n\) 任意实数可用)
\(\sin x\) \(\cos x\)
\(\cos x\) \(-\sin x\)
\(\tan x\) \(\sec^2 x\) 商法则可得
\(e^x\) \(e^x\) 指数函数中唯一"求导不变"者
\(a^x\) \(a^x\ln a\)
\(\ln x\) \(1/x\) 由反函数法则(见 §9)可得
\(\log_a x\) \(\dfrac{1}{x\ln a}\)

八、微分:\(dy\)\(\Delta y\) 的区别

一句话:微分是增量的"线性主部",是 \(\Delta y\) 最好的线性近似。

由 §5 的线性逼近,\(f\)\(x\) 可导时

\[\Delta y = f(x+\Delta x)-f(x)=f'(x)\,\Delta x+o(\Delta x)\]

定义自变量微分 \(dx=\Delta x\),因变量微分

\[dy = f'(x)\,dx\]

于是 \(\Delta y = dy + o(\Delta x)\)。两者的关系:

含义 是否精确
\(\Delta y\) 函数真实增量 精确(非线性,难算)
\(dy=k\,\Delta x\) 切线上走的线性增量 近似(误差 \(o(\Delta x)\)

导数 vs 微分,到底差在哪?

  • 导数 \(f'(x)\) 是一个数(或函数)\(dy/dx\) 的商;
  • 微分 \(dy=f'(x)\,dx\) 是一个线性量:把增量 \(\Delta x\) 映射为线性增量的映射(一元里就是一条线性函数)。

一元时记号上 \(f'=dy/dx\) 浑同一体没问题;到多元、到滤波,才看出"导数=雅可比矩阵、微分=线性增量"这层差别。

微分的一个经典用法——线性近似\(f(x_0+h)\approx f(x_0)+f'(x_0)h\)

例:\((1.01)^2\approx 1+2\times 0.01=1.02\)(真实值 \(1.0201\),误差 \(0.0001=o(h)\))。惯导里大量"小量近似"(失准角 \(\phi\)、小角度 \(\sin\theta\approx\theta\)\(\cos\theta\approx1\))就是这条思想的工程化。


九、求导法则(含证明)

和差法则

$\((u\pm v)'=u'\pm v'\)$ 由定义直接拆开即证。

乘积法则 \((uv)'=u'v+uv'\)

核心技巧:加一项减一项(加 \(f(x)g(x+h)\)):

\[\begin{aligned} \frac{f(x+h)g(x+h)-f(x)g(x)}{h} &=\frac{f(x+h)-f(x)}{h}\,g(x+h)+f(x)\,\frac{g(x+h)-g(x)}{h} \end{aligned}\]

\(h\to 0\)\(g\) 可导(故连续)⟹ \(g(x+h)\to g(x)\),于是

\[\boxed{(fg)'=f'g+fg'}\]

商法则 \((u/v)'=\dfrac{u'v-uv'}{v^2}\)

法一:把 \(1/v\) 看成 \(v^{-1}\),由幂法则 + 链式法则推出;法二:\(u=v\cdot(u/v)\) 两边用乘积法则解出 \((u/v)'\)

链式法则(复合函数)\((f\circ g)'(x)=f'(g(x))\,g'(x)\)

用线性逼近证明。设 \(y=f(u)\)\(u=g(x)\)

\[g(x+h)=g(x)+g'(x)\,h+o(h)\]

\(k=g(x+h)-g(x)=g'(x)h+o(h)\),则 \(k\to 0\)\(k=O(h)\)。由 \(f\)\(g(x)\) 处的线性逼近:

\[f(g(x)+k)=f(g(x))+f'(g(x))\,k+o(k)\]

代入 \(k\) 并注意 \(o(k)=o(h)\)

\[f(g(x+h))=f(g(x))+f'(g(x))\,g'(x)\,h+o(h)\]

与线性逼近形式对照,主部系数就是复合函数的导数:

\[\boxed{(f\circ g)'(x)=f'(g(x))\,g'(x)}\]

惯导里链式法则到处都是:四元数姿态更新、坐标变换链 \(C_b^n=C_e^n C_b^e\) 对时间的求导、加速度对姿态的依赖——都是"外层对整体求导 × 内层求导"。

反函数法则 \((f^{-1})'(y_0)=\dfrac{1}{f'(x_0)}\),其中 \(y_0=f(x_0)\)

直觉:互为反函数的两条曲线关于直线 \(y=x\) 对称,斜率互为倒数。严格证明由连锁率对 \(f^{-1}(f(x))=x\) 两边求导得到。

应用例\(y=\ln x \iff x=e^y\)\(\dfrac{dy}{dx}=\dfrac{1}{dx/dy}=\dfrac{1}{e^y}=\dfrac{1}{x}\),得到 \((\ln x)'=1/x\)


十、高阶导数与泰勒展开(通往惯导线性化)

高阶导数:导函数继续求导。

\[f''(x)=(f'(x))',\qquad f^{(n)}(x)=\big(f^{(n-1)}(x)\big)'\]
  • 二阶导数的物理意义:加速度;
  • 几何意义:\(f''>0\) 凹向上、\(f''<0\) 凹向下,\(f''=0\) 是拐点(可能的)。

泰勒展开\(f\) 足够光滑时):

\[f(x_0+h)=f(x_0)+f'(x_0)\,h+\frac{f''(x_0)}{2!}h^2+\cdots+\frac{f^{(n)}(x_0)}{n!}h^n+o(h^n)\]
  • \(n=0\) 截断:\(f(x_0+h)\approx f(x_0)\)——零阶保持;
  • \(n=1\) 截断:\(f(x_0+h)\approx f(x_0)+f'(x_0)h\)——一阶线性化,§5 的线性逼近即此;
  • 各阶系数 \(f^{(k)}(x_0)/k!\) 携带了函数在一点附近越来越多的局部信息。

惯导中泰勒展开的三大用途

  1. 误差传播:对非线性运动方程做一阶泰勒 ⟶ 线性时变系统 \(\delta\dot{\boldsymbol x}=F\,\delta x\),见 09 纯惯导误差传播
  2. 卡尔曼预测/修正:状态转移与观测都取一阶,协方差按 \(P=FPF^T+Q\) 传播,见 10
  3. ESKF 雅可比:误差态方程的 \(F\) 阵就是对姿态/速度/位置/零偏的偏导矩阵,见 11 EKF 与 ESKF

十一、总结:一句话记住导数

\[f'(x_0)=\lim_{h\to0}\frac{f(x_0+h)-f(x_0)}{h}\]

它同时是:差商的极限 · 切线斜率 · 瞬时变化率 · 最佳线性逼近的系数 · 一元时的微商 \(dy/dx\)

核心关系:可导 ⟹ 连续,但连续 ⇏ 可导。

如果只记一句话:导数就是函数在一点附近用直线去逼近时,那条直线的斜率。

关联

外链 Wiki