笔不离纸的画面
对连续性最友好的检验是这样的:想象你用手画出一个函数的图像。如果你能一路描完整条曲线、笔始终不离开纸面,那么这个函数就是连续的。一天里室外的气温、一株正在长高的植物、一个被抛出的球的位置——它们都平滑地变化,不会从一个值瞬移到另一个值,所以它们的图像是不间断的。
现在想想,笔在哪些地方*不得不*离开纸面。也许曲线突然跳到一个新高度;也许有一个孤零零缺失的点——一个小小的空洞——在那里函数没有定义,或者落在了错误的位置;也许曲线在某个值附近一飞冲天奔向无穷。这些每一种都是一个断裂,每一处都是函数失去连续性的地方。下面整套形式化的说法,不过是用一种谨慎的方式表达:在这一点上,曲线没有断。
用极限把它说精确
在前面的台阶上,你已经认识了极限:lim x->a f(x) 是当 x 逼近 a 时,曲线*正趋向*的那个唯一的值——不管在 a 这一点上究竟发生了什么。连续性把这个「趋向的值」和函数真正取到的值联系起来。当曲线趋向的地方,正是它真正落脚的地方时,函数 f 就在 a 处连续。
f is continuous at a <=> lim x->a f(x) = f(a)
- f(a) 存在——函数在 a 处确实有定义;图上那里有一个点,而不是一个空洞。
- lim x->a f(x) 存在——曲线趋向一个确定的值,从两边趋近得到的结果相同(左、右单侧极限一致)。
- 两者相等——它趋向的值等于它落脚的值:极限等于 f(a)。
曲线断裂的三种方式
当那个等式不成立时,这种失败是有形状的,给常见的几种取个名字会很有帮助。跳跃间断就像一级台阶:曲线从左边趋近到一个高度,从右边却趋近到另一个不同的高度,于是单侧极限不一致,极限不存在。想想停车费:一小时以内是 2 元,可一过一小时的那一瞬间就变成 5 元——费用跳了一下。
可去间断是一个孤立的空洞:曲线干净利落地趋向某个值(极限存在),可 f(a) 却缺失,或被设到了错误的位置。之所以叫*可去*,是因为你只要补上那一个点,就能让函数变得连续。无穷间断则是一条竖直渐近线:在 a 附近曲线冲向 +无穷 或 -无穷,就像 1/x 在 x = 0 附近那样,于是根本不存在有限的极限。
g(x) = (x^2 - 1) / (x - 1) # equals x + 1 everywhere EXCEPT x = 1, where it is 0/0 (undefined). # lim x->1 g(x) = 2, but g(1) does not exist -> removable hole at (1, 2).
连续性凭什么这么有用
连续性不只是「整齐」而已——它换来的是各种保证。其中最响亮的一条是介值定理:如果 f 在从 a 到 b 的区间上连续,那么它在这一路上的某处,会取到介于 f(a) 和 f(b) 之间的*每一个*值。一条不间断的曲线,要从一个高度到达另一个高度,就不可能不经过中间所有的高度——没有门可以让它溜过去,因为根本就没有缝隙。
这话听起来理所当然,可它是个干活的主力。假设 f 连续,f(a) 是负的,f(b) 是正的。既然 0 夹在一个负数和一个正数之间,定理就保证了在 a 与 b 之间*存在某个*点 c,使得 f(c) = 0——也就是一个根。这正是你锁定一个无法手算求解的方程的解的办法:把它夹在一个负值和一个正值之间,然后一点点收紧。
- 找到两个点 a 和 b,使 f(a) < 0 而 f(b) > 0(符号变了)。连续性保证它们之间藏着一个根。
- 检查中点 m = (a + b) / 2。哪一半的两端符号仍然相反,根就一定在那一半里。
- 不断把区间对半切下去。每一步都让精度翻倍,这个夹缝会按你想要的紧度收向那个根。