泰勒用多项式模仿曲线
曲线复杂,多项式好处理。泰勒的想法很简单:选定一点,造一个在那点与曲线高度相同、斜率相同、弯曲程度(二阶导)相同,依次匹配越来越多导数的多项式。阶数越高,就在那点附近越忠实地模仿曲线。连 sin、cos、ex 这样的超越函数,最终也能写成无穷多个多项式项之和(幂级数),计算器正是用这种方式求值。但一旦离中心太远,近似就会崩溃。崩溃的大小就是余项(截断误差),而这一组里的每一种数值方法,归根结底都是与这个误差搏斗的故事。
拉动阶数滑块。一阶只是切线(直线),很快就离开曲线。升到 3、5、7,多项式就在越来越宽的范围内拥抱正弦曲线。关键词是"靠近中心"。无论几阶,越靠近中心(这里是0)拟合越好,越往两端最终越会剥离,因为多项式在远处必然发散。但只要加够项,在你看到的整个区间里,它几乎与正弦无法区分。
这次把 ex 一项一项地累加。第一项是 1(常数),接着是 x,再是 x²/2、x³/6,每一项都是 xᵏ/k!。下方的柱是 x=2 处各项的大小:先变大,等分母里的阶乘(k!)发力后便迅速变小。这正是部分和会停在一个值上的原因。加项时,看 T(2) 如何逼近真值 e²≈7.39。像这样在每个 x 都收拢的函数叫解析函数,ex、sin、cos 就是代表。下一讲要问的是收拢能延伸到多远(收敛半径)。
红色竖条是正弦与多项式之间的间隔,也就是误差。把探针 x 放在中心0附近,竖条几乎看不见。但把探针拖向两端,过了某处,竖条会突然变长。提高阶数会拓宽拟合良好的区段,可一旦越出,误差照样爆发。用泰勒近似时最关键的直觉就是:决定误差的不是抽象的"有多准",而是"离中心有多远"。所以实战中,会把中心取在你真正关心的点附近。
只迈出一阶泰勒的一步,也就是切线。在某点测出斜率,沿那条直线前进 h,去预测下一个值。虚线是这个预测,曲线是真值。h 小时两者几乎一致,但 h 一大,红色间隔就张开。这个间隔就是一阶泰勒的余项,即截断误差。而这恰恰是欧拉法(本组第5讲)每一步所做的:从微分方程取得斜率,再用直线一步步前进。所以近似与数值分析同根同源,多项式近似的余项,正好变成数值解法的误差。
选一个函数。选 sin 并把项数设为 1,就得到 sin x ≈ x。这正是物理里解单摆和小幅振动时常用的小角近似,角越小越准。余弦从 1 − x²/2 开始,ex 从 1 + x + x²/2 开始。计算器和计算机就是用这类多项式(再加一点修正)来求 sin、cos、ex 和对数。这就是只会乘法和加法的机器能处理超越函数的诀窍。原则始终如一:定好你需要的精度,就花相应数量的项。