导数的几何意义与切线方程
割线斜率的极限是一个数,这个数同时也是一条直线的斜率: 时割线绕着定点 转动,它的极限位置就是曲线在该点的切线。导数由此获得几何意义—— 是切线的斜率,而切线方程随之可写。
1 · 切线的定义之变
初中定义圆的切线为「与圆只有一个公共点的直线」。这个定义在一般曲线上立刻失效: 在 处的切线 与曲线还交于 ,公共点有两个;而 与抛物线 交于两点却不是切线。
微积分改用极限来定义:过 与邻近点 作割线,若 时割线的斜率有极限 ,则过 且斜率为 的直线是曲线在该点的切线。定义只约束切点附近的局部行为,对曲线在远处如何走向不作任何断言。
定义 1.1(切线) 设 在 处可导。曲线 在点 处的切线是过该点、斜率为 的直线,其方程为 。
2 · 切线方程与切点之外的公共点
点斜式给出的方程整理后即 。以 、 为例:、,切线为 。它与曲线的公共点由 给出,即 ,切点 是二重根,另有单根 。
切线与曲线相切的代数特征正是这个二重根:差函数 在切点处函数值与导数值同时为零。 时更极端,切线 直接穿过曲线,切点两侧曲线分居切线上下。
3 · 切点未知的一类问题
「求过点 的切线」与「求在 处的切线」是两类问题。后者切点已给定,代公式即可;前者只知道切线经过 ,切点是未知数。设切点横坐标为 ,切线方程为 ,代入 得
这是关于 的方程,每个根给出一条切线。 与点 :方程化为 ,得 ,两条切线 与 。
警示 · 点落在曲线上并不意味着只有一条切线,也不意味着切点就是该点。 与点 :方程化为 ,即 ,除 外还有 。后者给出的切线 切于 ,而它同样穿过 。把「过 的切线」直接按「在 处的切线」处理会漏掉这一条。
4 · 二重根在数值实现里的位置
的方程
在
处不变号:
从
增到
,方程左端的值先增到
再回落,符号始终不变。只按「相邻采样点异号」找根的实现会漏掉整个
,恰好漏掉那条最容易验算的切线。core/calculus.ts 的 rootsOf 因此在变号分支之外另设一支:把
的局部极小用三分法细化,若细化后仍贴着零就算一个根。收敛判据取相对量,参照的是网格上
的最大值——
这类量级小的导函数在绝对阈值下会被整体判为零。
同一支代码也解释了 meetsAgain 为何要按距离剔除切点:切点在差函数里本就是重根,rootsOf 一定会把它报出来,而调用方要的是「除切点之外还交于哪里」。
在
处,剔除后剩下的根算得
,与因式分解的结果一致到打印精度。
5 · 参考文献
- Tangent. Wikipedia. 切线的极限定义、与「只有一个公共点」这一旧说法的分别。https://en.wikipedia.org/wiki/Tangent
- Tangent lines to circles. Wikipedia. 圆的切线性质,以及它为何不能推广成一般曲线的定义。https://en.wikipedia.org/wiki/Tangent_lines_to_circles
- Multiplicity (mathematics). Wikipedia. 重根的定义,以及相切与二重根的对应。https://en.wikipedia.org/wiki/Multiplicity_(mathematics)