跳到正文
格致开物MATHWIKI

导数

导数(derivative)描述函数在某一点附近的变化率。它把一段区间的平均变化率缩小到一点,也给出在该点用直线近似函数时所需的斜率。

平均变化率怎样变成局部变化率

若物体的位置函数为 s(t)=t2 米,其中时间 t 以秒计,从 1 秒到 2 秒的平均速度是 (41)/(21)=3 米每秒。但这个结果把整个一秒区间的运动压缩成了一个平均数,并不能说明 1 秒时恰好以多快的速度运动。

若只看1秒到1.1秒,平均速度为 (1.211)/0.1=2.1 米每秒。用 h 表示时间间隔,计算过程写成 s(1+h)s(1)h=(1+h)21h=2h+h2h=2+h(h0). 间隔缩小时,无论从右边还是左边接近1秒,平均速度都趋于2,因此瞬时速度为每秒2米。图中的割线连接 (1,1)(2,4);让后一个点沿曲线靠近前一个点,斜率从3趋向2,得到切线。

抛物线在一一处的切线与连接一一和二四的割线
对 y=x²,图示割线斜率为 3,切线斜率为 2。割线概括一段变化,切线描述一点附近的一阶变化。

再比较三次更小的间隔。下图始终固定 P=(1,1),只移动Q;间隔从1减到0.5、0.1时,割线斜率分别为3、2.5、2.1。金色虚线是斜率2的同一条切线,粉色割线逐步靠近它。

三幅平方函数图固定点P,分别取时间间隔一、零点五、零点一,割线斜率依次为三、二点五、二点一并靠近斜率二的切线
差商的极限由一系列非零间隔得到;绿色曲线始终是同一条平方函数。

从具体运动到导数定义

设实函数 fa 附近有定义。如果有限极限 f(a)=limh0f(a+h)f(a)h 存在,就称函数在 a 可导,极限称为导数。f(a) 读作“f在a处的导数”;导数函数还常写为 df/dx。差商每次都用非零增量,最后才取极限。这里左右两边须给出相同答案;区间端点只有一侧可用时,单独讨论单侧导数。

用切线估计一次小变化

对任意实数 a(a+h)2a2h=2a+h(h0), 所以 f(a)=2a。在 a=1 处的切线是 y1=2(x1)。当输入从 1 变到 1.03,切线给出的预测值是 1.06,而真实函数值为 1.0609,误差恰好为 0.032=0.0009

这个误差计算比“切线紧贴曲线”更具体:一阶变化是 2h,遗漏的是二阶量 h2。导数把函数在所选位置的主要变化压缩为一个线性系数,但并不把曲线在远处也变成直线。导数为负时函数在该点附近的一阶响应方向相反;导数为零时只说明一阶项消失,更高阶项仍可能决定变化。

可导的等价表述:线性主项加小余项

由差商定义,可导等价于存在实数 A 与余项 r(h),使 f(a+h)=f(a)+Ah+r(h),r(h)h0. 此时 A=f(a),常把余项写成 o(h)。证明是直接的:若导数存在,令 r(h)=f(a+h)f(a)f(a)h,除以 h 即趋于零;反之,把此展开式除以非零 h,差商便趋于 A

这也完整证明了“可导必连续”。差商在足够小邻域内有界,而 f(a+h)f(a) 等于差商乘以 h,所以增量趋于零。连续只要求函数值接近原值;可导进一步要求这种接近能够由一个线性主项描述。前者弱于后者,不能倒置。


求导法则为何成立

f,g 在同一点可导,和法则来自极限的线性性。乘积法则则需要把增量拆开: f(a+h)g(a+h)f(a)g(a)=[f(a+h)f(a)]g(a+h)+f(a)[g(a+h)g(a)]. 除以 h 并令其趋零。由于可导保证连续,g(a+h)g(a),所以得到 (fg)=fg+fg。回到平方函数,把它看作两个相同因子的乘积,法则给出 (xx)=1x+x1=2x,与差商计算一致。商法则还要求分母在该点非零: (fg)=fgfgg2.

链式法则描述复合变化。设 ga 可导,fb=g(a) 可导;则 (fg)(a)=f(g(a))g(a). 一个不需要除以可能为零的内部增量的证明是:把外层变化写成 f(b+k)f(b)=f(b)k+η(k)k,其中 η(k)0,并令 η(0)=0。代入 k=g(a+h)g(a)。内层连续保证 k0,而 k/hg(a) 且局部有界,因此余项除以 h 后趋零,得到结论。此证明也覆盖某些增量使 g(a+h)=g(a) 的情形。

这些法则与常见函数的导数有系统教材依据,参见 OpenStax §3.3§3.6;本节展开推导用于说明各条件在何处被使用。

两层变化率相乘

设某周期信号为 q(t)=5sin(2t2),时间以秒计,正弦内的相位以弧度计,系数应具有使相位无量纲的单位。外层函数对相位的导数为 5cos(2t2),内层相位变化率为 4t,所以 q(t)=20tcos(2t2).t=0 时变化率为零,但信号并非恒为零。漏掉 4t 就把“每单位相位的变化”误当成“每单位时间的变化”。三角函数的标准导数公式采用弧度制;若输入使用度数,转换因子也属于链式法则的一部分。

平方根近似及误差

4.04,从熟悉的 4=2 出发。平方根在4的差商为 4+h2h=14+h+214. 分子分母乘以共轭因式,再约去非零的 h,便得到中间等号。因此线性估计是 2+0.04/4=2.01

误差也能用代数算清。设 d=4.042,则 (2+d)2=4.04,即 4d+d2=0.04。所以 d=0.01d2/4,且 0<d<0.01。估计值2.01高于真实值,高估量恰为 d2/4<0.000025。若已学泰勒定理,也可用 f(x)=1/(4x3/2) 在此区间的绝对值上界 1/32,得到相同的误差界。

从一点推到区间:中值定理的作用

导数是局部量,要得出整个区间的结论,需要额外定理。对 a<b,拉格朗日中值定理要求 f 在闭区间 [a,b] 连续,并在开区间 (a,b) 可导;它保证存在 c(a,b),满足 f(b)f(a)=f(c)(ba). 证明时减去连接端点的直线,令 g(x)=f(x)f(a)f(b)f(a)ba(xa). 它在两端都为零。若恒为零,任意内点都符合结论;否则,闭区间极值定理保证有一个非零的最大值或最小值,而且它只能在内点取得。在可导的内点极值处,左右差商符号相反,共同极限只能为零。因此存在 c 使 g(c)=0,代入 g 的表达式便得到中值定理。

若区间内处处 f>0,对任意两个点应用中值定理,可知函数严格递增;若处处 f=0,函数在该区间为常数。条件中的“区间”不能随意删掉:在不连通的定义域上,不同分支可以各有不同常数,所有点的导数仍为零。

内点可导的局部极值必须满足 f=0,但逆命题不成立。例如 x3 在 0 的导数为零,却从负值穿过 0 继续增加。函数 |x| 在 0 达到最小值,却不可导;闭区间上的端点也可能取得最大最小值。因而寻找优化问题的最优值时,驻点、不可导点和边界都需要检查。

三种边界:尖点、竖直切线与不连续的导数

f(x)=|x| 在 0 连续,但左差商为 −1,右差商为 1,因此不可导。对 f(x)=x1/3,原点的差商为 h2/3,趋于正无穷;几何上可以谈竖直切线,但它不是有限导数。把“切线存在”直接当成“实数导数存在”,会漏掉这一差别。

可导也不保证导数连续。定义 f(0)=0,非零点取 f(x)=x2sin(1/x)。在 0 的差商是 hsin(1/h),由绝对值不超过 |h| 可知导数为零;在非零点, f(x)=2xsin(1/x)cos(1/x). 沿 x=1/(2πn)x=1/((2n+1)π),导数分别为−1和1,所以导数在0不连续。这一例子区分了可导与连续可导,也说明导数存在并不意味着邻近斜率平稳变化。

数值差商还有不同的限制:步长太大产生截断误差,步长太小则可能把测量或舍入误差放大,因为噪声被除以小数。真实数据中的“求导”通常需要明确步长、平滑假设或误差模型,不能把解析函数的精确公式原样套到噪声记录上。

隐式关系中的变化率

有时变量关系不是显式写成 y=f(x),而是由方程共同规定。例如圆 x2+y2=25 的上半部分在 y>0 时局部确定一个可导函数。对两边关于 x 求导,链式法则给出 2x+2yy=0,所以 y=x/y。在点 (3,4),斜率为 3/4,切线方程为 y4=(3/4)(x3)

这个过程并不意味着在圆的所有点都能用同一个可导的单值函数表示纵坐标。到 (5,0) 时,分母为零,几何切线竖直;上下半圆也在这里接合。隐式求导得到的式子有使用范围,需要先确认所讨论的分支与非零条件。更一般的隐函数定理系统回答何时能够从一个关系局部解出可导函数。

类似地,若半径 R(t)>0 随时间变化,圆面积 A(t)=πR(t)2 的变化率为 A=2πRR。半径为 3 米、径向增长率为每秒 0.2 米时,面积增长率为每秒 1.2π 平方米。不能把面积对半径的导数 2πR 直接当成面积对时间的导数;两种自变量带来不同单位,链式法则负责连接它们。

反函数的导数为何是倒数

fa 的某个邻域连续可导,并且 f(a)0;由反函数定理,可以进一步缩小邻域,使它一一对应并有可导的局部反函数,记为 g,满足 g(f(x))=x。对这个恒等式求导,链式法则给出 g(f(a))f(a)=1,于是 g(f(a))=1/f(a)。这个推导在反函数可导已得到保证后说明导数的数值;不能仅靠形式求导就自动证明反函数存在且可导。

几何上,交换横纵坐标把一条切线的斜率变成其倒数。以正半轴的平方函数和平方根函数为例,平方函数在 2 的导数为 4,因此平方根函数在 4 的导数为 1/4。若原导数为零,倒数规则失效:立方函数在原点可导且一一对应,但其反函数立方根在原点没有有限导数。

高阶导数记录的是哪一种变化

二阶导数是导数函数的导数。对于位置函数,它描述速度的变化率,即加速度;对于一般图像,正的二阶导数意味着斜率在增加,不意味着函数值一定为正或函数一定在增加。例如 f(x)=x2 在负半轴上正在下降,但斜率从很负逐步增加到零,二阶导数始终为正。

若某内点一阶导数为零,而二阶导数连续且在该点为正,可以在邻域内利用斜率变化或泰勒展开证明它是严格局部最小值。若二阶导数为零,判别没有结论:x4 在零点有最小值,x4 有最大值,x3 则都不是。判据没有识别出来,与数学对象没有该性质,是两回事。

导数为正是严格递增的充分条件,却不是必要条件。立方函数在整条实轴严格递增,零点的导数仍为零。与此同时,单点导数为正只约束足够接近该点时的线性响应,不能据此断言很远的函数值也继续增加。把局部结论扩展到区间,必须检查中值定理使用范围内的条件。

导数也可以描述误差传播。若真实输入为 a,测量误差为较小的 h,输出误差的一阶近似是 f(a)h。导数绝对值大,意味着同样的输入误差可能被放大;绝对值小,则局部输出对输入较不敏感。不过一阶项为零时,应继续检查高阶项,而不能说所有误差都消失了。

例如用球半径估计体积,V=4πR3/3,小半径误差给出 ΔV4πR2ΔR。除以体积后得到相对误差近似 ΔV/V3ΔR/R。因此半径百分之一的相对误差,可能造成约百分之三的体积相对误差;这个结论适用于误差足够小的一阶近似,不是任意误差下的精确比例。

若输入变成新的时间单位,导数数值也会相应改变。把以秒计的时间换为以分钟计的变量,同一段运动每分钟的位置变化率是每秒数值的六十倍。图像看起来相同并不意味着导数的数值相同,因为横轴单位改变了斜率。导数是一种关于所选自变量的量,报告时应保留“相对于什么变化”。


历史

切线和极值问题早于现代导数定义。费马研究求极值的方法,巴罗研究切线与求积之间的关系;十七世纪牛顿从运动与流数出发,莱布尼茨发展微分符号和运算法则。差商极限后来成为导数的标准定义。相关人物工作可核对 MacTutor:FermatBarrowLeibniz


来源与继续阅读