一步一步建立直观
先预测,再点“演示本步”核对右图。每一步都重设到指定情形,随后可以自由修改参数。
01先读位置、速度,再读速度的变化
一次导数描述输出对输入的小变化有多敏感,二次导数则描述这种敏感度如何改变。把输入看成时间时,位置、速度、加速度依次出现。右图用指数函数的多项式近似演示逐阶匹配:一次项调整倾斜,二次项开始调整弯曲。
02同一条切线不能规定整条曲线
把观察位置移得更远,低阶多项式与原函数可能迅速分离。两条曲线在一点共享函数值与一阶导数,只保证它们在一阶尺度上接近;二阶导数及更高阶信息可以不同。因此切线相同不是函数相同,更不是远处预测可靠。
03高阶信息增加局部约束
增加阶数,检查读数中的实际误差。这里指数函数在零点的各阶导数都等于一,所以系数写成阶乘分母。一般函数需要分别计算各阶导数,并估计余项。即使已匹配许多阶,仍应同时注明近似中心、使用区间和允许误差。
2.13.1 “正在下降”与“下降得越来越慢”可以同时成立¶
看位置函数的一阶导数,是在问速度;再对速度求导,则是在问加速度。两者的符号回答不同问题。一辆向左运动但正在减速的车,速度为负,加速度却可能为正。函数图像的下降与向上弯曲也可以同时发生。
以 在负半轴为例,斜率 为负,但随着 增加,它越来越接近零。图像仍下降,却下降得越来越慢,二阶导数为正。把“正二阶导数”误读为“函数递增”,就是把变化率与变化率的变化混在一起。
2.13.2 高阶信息用于更细的局部预测¶
只知道一点的值,可以给常数预测;知道一阶导数,可以加直线修正;知道二阶导数,就能预测斜率如何偏离初值,从而加上二次项。泰勒近似会把这套逐层修正系统化。
对 ,二阶导数 在零点两侧变号,所以凹凸改变。对 ,二阶导数 在零点为零,却不变号,所以“二阶导数等于零”并不足以判断拐点。需要检查邻域行为,而非只代一个点。
试着画函数、斜率函数和二阶导函数三幅图,并用同一竖线标出一个输入。每幅图的纵坐标分别回答“在哪里、往哪变、变化率怎么变”。把它们分开阅读,才不会在更复杂的近似或动力系统中混淆层次。
与本图相连的定义与证明:2.14 · 在固定区间内控制截断误差。本节的具体条件与形式化范围见下文。
数学表述 2.13.1¶
一阶导数描述变化,二阶导数描述变化率怎样改变。运动中分别对应速度和加速度;函数图像中二阶导数控制局部凹凸。
对 ,,,。一般 意味着附近斜率正在增加,但不保证 。
例 2.13.1 把概念用于具体计算
在 处仍在下降,因为 ,同时向上弯曲,因为 。
练习 2.13.1¶
的四阶导数?
展开解答与检查
答案仍为 ,每四次循环。
Lean 对照 2.13.1 命题、证明与适用边界
完整计算三次函数的二阶导数为 ,同时核实中间的一阶导函数。
Calculus.second_derivative_cubic
theorem second_derivative_cubic (x : ℝ) :
deriv (deriv (fun t : ℝ => t^3)) x = 6*x := by
have h : deriv (fun t : ℝ => t^3) = fun t => 3*t^2 := by
funext t
simp [deriv_pow]
rw [h]
convert ((hasDerivAt_pow 2 x).const_mul 3).deriv using 1
ring