贡献者: 欄、停敘
在学习函数的性质时,曾经提到过函数的变化率。其中,平均变化率(average rate of change)的概念类似于计算某段时间内的平均速度,反映了函数在一个区间内的整体变化趋势。当平均变化率所涉及的两个点逐渐靠近,直至几乎重合时,这一变化率便转化为描述局部变化的工具。此时,连线逐渐成为该点处的切线,而平均变化率也演变为瞬时变化率(instantaneous rate of change),即函数在该点的变化速率。瞬时变化率的另一个名称是导数(derivative)。
平均变化率提供了宏观的变化趋势,而导数则通过精确的数学方法刻画了局部的瞬时变化。导数的应用范围极其广泛,几乎所有涉及变化的领域都能发现它的踪迹。例如,在经济学中,导数用于分析股票价格的涨跌;在气象学中,它可以测量温度的变化速度;在生物学中,它帮助研究细胞分裂的速率。作为研究变化的强大工具,导数为人们提供了一种新的思维方式,帮助深入理解和处理动态问题。
导数的理论基础依赖于极限(limit),但由于高中阶段未涉及极限的具体内容,因此高中的导数的学习主要聚焦于以下三个方面:
导数不仅是理解函数变化的核心工具,也是未来微积分学习的重要基础。高中阶段对导数的熟练掌握,将为进一步研究函数极限与积分打下坚实的基础。由于内容庞杂,本篇主要集中介绍导数的背景、定义和几何含义,导数的计算和性质则另外介绍。
在谈论导数的定义之前,先从一个生活中的常见情景入手:假设某人开车从家到商场,整个行程花了 30 分钟,行驶了 15 公里。通过小学就学过的计算,可以得出这段旅程的平均速度为 15 公里 ÷ 0.5 小时 = 30 公里/小时。这种计算方式,是对整个行程的总体描述,表示汽车 “平均” 每小时行驶的距离。然而,在实际驾驶过程中,汽车的速度并不是恒定的。坐车时可以看到仪表盘上的速度表,它显示的单位同样是 “公里/小时”,但随着行驶情况变化,汽车可能需要减速、加速,甚至短暂停车,它显示的数字也会有时是 10 公里/小时,有时是 80 公里/小时,甚至可能短暂为 0。这些读数反映的是汽车在某一时刻的速度,也被称为瞬时速度。
瞬时速度与平均速度的差别在于,前者描述的是某一具体时刻的车速,而后者是对整个行程的概括。这两种速度各有用处:平均速度简单直观,但忽略了旅途中车速的变化;瞬时速度则能精确反映某一时刻的状态,但若没有速度表,就没有办法知道瞬时速度。平均速度怎么计算已经介绍过了,那么速度表1是怎么测得瞬时速度的呢?
速度表自己带有一个脉冲信号,他会从 0 开始不断计数,而且计数间隔的时间非常短。车轮每转一圈,它就会记录下当前的脉冲数为 $N$,然后开始重新计数。对于一台车,每两个脉冲间隔的时间 $t$ 和车轮的直径为 $d$ 都是确定的。速度表显示的值 $v$ 如下计算:
其实,把汽车的运动位置当成一个函数的话,瞬时速度就是这个函数的导数。而上面的问题其实就和导数的定义有关。对于函数的平均变化率$\displaystyle\frac{\Delta y}{\Delta x}$,如果区间 $[a, b]$ 的两个端点距离非常近,这时一般 $\Delta x,\Delta y$ 都会非常小。如果此时的二者的比值能够稳定存在的话,那么这个比值就被称为导数。
而在实际使用时,只要控制这两个端点,使得 $\Delta x,\Delta y$ 都比较小,或者说小到计算的精度是可接受的,就可以近似地认为它们的比值是导数。在速度表的例子中,车轮周长通常在 2 米左右(即 0.002 千米),对于 “公里/小时” 这种单位的速度,速度表需要感知的最低车速约为 1 公里/小时。也就是说,对应的最小时间间隔约为 0.002 小时(即 7.2 秒)2。也就是说,对于日常使用而言,0.002 这个数字已经足够小了,更不用说一般汽车行驶的速度都是几十公里每小时,时间间隔就更小了。因此,基本认为速度表输出的就是瞬时速度,而前面讲述的这个过程,也是几乎所有数字领域计算导数的原理。
其实,刚才的描述中,就提到了平均变化率与导数的最主要区别——$\Delta x,\Delta y$ 是不是非常小,而这也就是导数定义的核心部分。
定义中的 $f(x_0+\Delta x)-f(x_0)$ 代表函数值的增量,也就是平均变化率中的 $\Delta y$ 的具体形式,严格对应于自变量的增量 $\Delta x$。而后一种表现形式,则更贴近平均变化率的定义里,两个点的形式。
导数的核心定义在于让变量 $\Delta x$ 趋于 0,这一点与速度表中基于有限时间间隔的近似结果有着本质区别。在速度表中,时间间隔 $\Delta x = tN$ 是一个具体的物理量,尽管可以通过某些改进方法3将 $\Delta x$ 缩小到非常小的值,从而提高实际精度,但它始终是一个确定的值。在区间 $(0, \Delta x)$ 内,总可以找到一个比 $\Delta x$ 更小的数。这种 “非常小” 的概念与数学中讨论的 “无限接近于 0” 存在根本差异。
“$\Delta x$ 无限接近于 0” 时,这个 $\Delta x$ 被称为无穷小(infinitesimal)4。关于 “无穷小” 有一个常见的疑问:$\Delta x$ 到底是否等于 0?一方面,根据 $\displaystyle\lim_{\Delta x \to 0} \Delta x = 0$5,似乎 $\Delta x$ 是 0;另一方面,$\Delta x$ 出现在分母上,因此它应该是一个非零值,而这时似乎上面的定义又回到了物理近似的情况。
这一问题曾在历史上引发争议。在牛顿(Isaac Newton)和莱布尼茨(Gottfried Wilhelm Leibniz)建立微积分体系后,无穷小的概念便被广泛使用,但它们并未对这一概念作出精确的定义。这一模糊性引来了批评,例如贝克莱(George Berkeley)称无穷小为 “幽灵般的量”。直到 19 世纪,魏尔施特拉斯(Karl Weierstrass)通过极限的语言为无穷小概念赋予了严谨的数学定义。
现在可以明确地讲:无穷小不是一个固定的数值,而是一个动态量——它的绝对值可以任意接近 0,但永远不为 0。这一概念使数学能够研究 “接近” 的行为,而不仅仅是 “已经到达” 的状态。因此,导数描述的是一个动态变化的 “接近” 行为。如果不论如何接近,导数都会变成同样值,就说这个导数存在。数学通过取极限得到导数的过程,得到了一个 “毫无偏差,无限精度” 的 “平均变化率”。
函数与其图像之间具有对应关系,而导数作为函数的一种重要性质,也在几何上具有明确的含义。
在研究函数图像时,常通过选取曲线上两个不同的点,并将它们连成一条直线以分析函数值的变化。这条直线被称为割线(secant line)。割线斜率是函数值在这两点间变化的比值,即 $\Delta y = y_2 - y_1$ 与 $\Delta x = x_2 - x_1$ 之比,正好是两个点之间的平均变化率。当两个点逐渐靠近直至 “几乎重合” 时,割线会逐步趋近于另一种特殊的直线:切线(tangent line)。
切线在几何上被定义为曲线在某一点局部范围内唯一的 “紧密贴合” 直线,它精准地刻画了曲线在这一点的瞬时变化趋势。在初中 “直线与圆的关系” 中,已经接触过 “切线” 的概念:当直线与圆只有一个交点,并且该交点位于圆的一侧时,直线被称为与圆相切。在函数图像的背景下,“相切” 概念更为深入,不仅强调直线与曲线在某一点只有一个交点,还指出两者在这一点附近的变化趋势非常接近。切线的斜率直接反映了函数在该点的变化趋势。当切线斜率为正时,函数图像表现为 “向上” 的趋势,类似于行走在上坡路面;当切线斜率为负时,函数图像呈现 “向下” 的趋势,就像走在下坡路面;而当切线斜率为零时,函数在该点的变化趋于水平,类似于平地行走。
刚才提到过,割线的斜率是平均变化率,那么从割线变到切线,它的斜率也变成了这一点的导数。因此,导数也就是描述这一点的 “坡度”。导数的正负号不仅是计算的结果,更是一种直观的符号语言,反映了函数在某一邻域内的变化行为。从而,根据直线的点斜式,函数在某点 $x=x_0$ 处的切线方程就是:
需要注意的是,与圆的切线不同,切线与曲线不总是只有一个交点。例如,函数 $f(x) = x^3 - x$ 在 $x = 1$ 处的切线同时经过点 $(1, 0)$ 和 $(-2, -6)$。此外,切线也未必始终位于曲线的一侧,例如同一函数在 $x = 0$ 处的切线,两侧的函数图像分别位于切线的上下方。
在实际应用中,有时无法直接获取函数的完整图像,而只能通过一组离散的点近似函数的行为。在这种情况下,可以采用一种 “以直代曲” 的方法,用相邻两点连线构成的折线图来替代函数的原始图像。这一方法本质上是将离散点之间的连线斜率,也即平均变化率,视为函数在对应区间内原本的导数值。现实生活中的区间测速就是一个典型的例子。在区间测速中,车辆的平均速度是通过测量两个位置之间的时间和距离来计算的。虽然它不能代表某一具体时刻的瞬时速度,但它却能近似车辆的整体运动趋势。这种利用平均变化率近似导数值的思想,与割线向切线的过渡过程是一致的。
对于函数 $f(x)$,往往并不是只有一个点有导数,那么,如果将这些点的自变量和对应的导数值联系起来,形成一种一一对应的关系,这就构成了一个新的函数,这个函数被称为导函数(derivative function),记作 $f'(x)$。在这种情况下,原本的函数 $f(x)$ 则被称为原函数(original function)。在很多情况下,为简洁起见,导函数也会直接简称为导数。这种命名方式可能让人感到困惑,因为 “导数” 一词既可能指某一点的瞬时变化率,也可能指整条导函数,这种语境依赖的用法需要结合具体内容进行判断。
导函数是一种将原函数的变化率用函数形式表达的数学工具,它不仅描述某一点的变化率,还将这种信息推广到整个自变量范围。从几何角度看,导函数 $f'(x)$ 代表了原函数 $f(x)$ 图像在每一点的切线斜率。如果将原函数 $f(x)$ 看作一段旅程,那么导函数 $f'(x)$ 就像是一份记录旅途中每一刻行驶速度的日志,详细刻画了整个过程中的速度变化。
每个原函数都对应着唯一的导函数,求导函数的过程称作求导。由于导函数的这种唯一性,用不同的方法求导所得结果应该是相同的。通过定义求导虽然原理清晰,但在实际计算中较为繁琐。为了更高效地计算导数,人们研究并总结了多种求导的方法,这些方法不仅简化了求导过程,还使得求导成为一种独立的数学运算。这些具体的求导方法将在后续章节 导数的计算 中进行详细介绍。
如果导函数是一个连续函数,它就将原函数在某一点的变化趋势扩展到一个区间,形成整体趋势的刻画。前文提到过,导数反映了函数在某一点的局部趋势,而导函数则成为分析函数局部和整体行为的桥梁。具体而言:在 $f'(x) > 0$ 的区间上,原函数的图像 “向上爬坡”;在 $f'(x) < 0$ 的区间上,原函数的图像 “向下滑坡”;在 $f'(x) = 0$ 的区间上,原函数图像在对应点呈水平状态。这样,通过观察导函数的符号变化,可以直观了解原函数图像的增减趋势和整体形态;反之,通过观察原函数图像的特性,也可以理解导函数图像的形状及变化。关于这一性质,在导数的性质中还会有详细的介绍。
导函数的另一个重要功能是可以通过它反推出原函数。已知导函数 $f'(x)$ 后,可以找到原函数 $f(x)$。然而,很可惜,这个结果并不是唯一的,但是,这些结果之间只相差一个常数 $C$,因此也称作一族原函数(a family of functions),即每个导函数都对应一族原函数。这个从导函数求原函数的过程叫做不定积分(indefinite integral)。导函数和原函数的这种关系体现了微积分中局部与整体的紧密联系,求导是从整体到局部的操作,而不定积分则是从局部信息反推出整体特征的逆向过程6。
上文在给出导数和导函数的定义时,使用了 $f'(x_0)$ 和 $f'(x)$ 的记号,这也是初学导数时接触到的标准形式,但由于历史发展和人们长久以来的使用习惯,催生了许多不同的记法。
这些记法不仅仅出于使用者的偏好选择,更反映了数学在不同领域的需求和发展背景,既为方便计算和推导,也为强调不同的数学概念。这些记法并不要求完全掌握,但熟悉它们的形式和适用场景,有助于在不同语境中理解求导这一运算,避免因为符号差异而产生混淆。在大学的学习中,这些记法会更广泛地出现。下面给出的符号针对函数 $y=f(x)$:
在高中阶段,一般要求只使用拉格朗日记法,即 $y'$ 或 $f'(x)$,并且不允许使用其他记法。其余的记法可以这样理解:
1. ^ 下面探讨的都是电子式的速度表,机械式的原理略有差异。
2. ^ 因此,车速较低时,速度表的数值可能会有一定延迟,因为需要完成计数后才能更新,不过这时对于驾驶者影响也不大了。
3. ^ 例如,通过测量半周或更短车轮行驶距离对应的时间。
4. ^ 注意,无穷小并非负无穷大。
5. ^ 这符合极限的直觉,也就是说如果一个数趋于 0,那么它的极限就是 0。
6. ^ 进一步地,由于不定积分和定积分的关系,导函数由局部反推整体特征的逆向过程依靠的是累积求和运算。关于不定积分的内容在高中目前已经删除,但了解此概念对定义有助于在大学阶段区分不定积分与定积分的关系。