第1章 极限

Tip

微积分是大学数学的核心内容, 是人工智能的基础之一, 学好它对我们以后的学习和成长有非常大的好处.

微积分的研究对象是函数. 我们中学已经学过函数的概念, 下面我们来复习和巩固一下.

1.1 集合与映射

1.1.1 集合

Tip

集合是数学研究从具体到抽象的第一步. 当我们用数学语言来描述世界时, 首先要把我们感兴趣的对象给拿出来, 进行适当的抽象, 然后再研究它们的规律. 集合就是数学中用来界定对象的一个概念.

Note

集合举例

  1. 自然数集 --- N={0,1,2,3,}

  2. 实数集 --- R={x:<x<}

  3. 满足不等式 x-3<10 的所有实数 x --- A={x<7}

Important

集合的概念

我们把所要研究的对象统称为元素 (element), 这些元素所组成的总体叫做集合 (set). 一般用大写字母如 A,B,C 表示集合, 用小写字母如 xa,b,c 来表示集合中的元素.

  • 如果 x 是集合 A 的元素, 就说 x 属于 集合 A , 记作 xA ;

  • 如果 x 不是集合 A 中的元素, 就说 x 不属于 集合 A, 记作 aA.

  • 不包含任何元素的集合叫做 空集 (emptyset), 记为 ϕ.

Caution

上机实验

计算机图像处理中经常会用到掩码 (mask) 的概念. 掩码本质上就是一个集合.

  • set_mask.ipynb: 图像掩码操作.

Important

两个集合间的包含关系

如果集合 A任意Rd一个元素都是集合 B 中的元素, 则称 A 包含于 B (或 B 包含A), 记作 ABBA, 此时称 AB子集 (subset). 空集是任何集合的子集

  • 集合相等: 如果 AB, 同时 BA, 则集合 A, B 中的元素是完全一样的, 此时我们说集合 A 等于集合 B, 记作A=B.

Important

集合之间的运算

交集

所有既属于 A 又属于 B 的元素组成的集合称为 AB交集 (intersection set), 记作 AB (读作“AB”), 即

AB={x:xA and xB}

下图展示了交集运算:

交集

并集

所有属于集合 A 或属于集合 B 的元素组成的集合, 称为集合 AB并集 (union set), 记作 AB (读作“ AB ”), 即

AB={x:xA or xB}

下图展示了并集运算:

并集

补集

如果集合 A 是集合 B 的子集, 则所有 B 中不属于 A 的所有元素构成的集合称为 A 相对于 B补集 (complementary set), 记作 CBAAC, 即

A¯=CBA={xB: xA}

下图展示了补集运算:

补集

Caution

上机实验

  • set_iou.ipynb: 交并比介绍.

1.1.2 映射

Tip

集合的概念是为了给映射做铺垫, 映射建立了集合与集合之间的关联.

Important

映射的定义

映射 (map) 描述了从一个集合到另一个集合的某种对映关系. 设集合 A 和 集合 B 是两个集合, 如果存在一个对映关系 f, 使得集合 A 中的每个元素都唯一的对映到 B 中的一个元素, 则称 f 为从 AB 的映射, 记作

f:AB

映射 f 把集合 A 中的元素 a 对映到 B 中的元素 b, 可记作

f(a)=b

此时 b 称为 a, a 称为 b原象.

映射可以通过下面的图像来理解:

映射

图中箭头表示了集合 A 中元素与集合 B 中元素的对映关系.

根据定义, 映射需要满足两个要求: 随处取值, 唯一对映.

  • 随处取值是指 A 中的任何一个元素在 B 中都有对映;

  • 唯一对映是指 f 可以把 A 中的不同元素映射到 B 中的同一个元素, 但不能把 A 中的一个元素映射到 B 中的多个元素.

Warning

映射的性质

  1. 单射:如果 A 中的每个元素都对映 B 中的不同元素, 则称 f 为单射.

  2. 满射:如果 B 中的每个元素都有原象, 则称 f 为满射.

  3. 一一映射:顾名思义, 一一映射就是集合 A 中元素与集合 B 中的元素一个对映一个. 可以证明, f 是一一映射等价于 f 既是单射又是满射.

逆映射

对于一一映射 f:AB, 把映射的象和原象反过来, 得到一个把集合 B 映射到集合 A 的新的映射, 称为逆映射, 记作 f1:BA.

Note

映射的例子

映射的例子在我们的生活中随处可见, 例如:

  1. 名字:集合 A 是所有的人, 集合 B 是所有的名字. 每个人都有一个名字, 我们允许重名, 但不允许一个人有2个名字.

  2. 地图:没错, map 本身就是一个 map!(我们希望)这是一个从地图到真实世界的一一映射.

  3. 颜色:为什么我们能看到不同的颜色?颜色是一个从光波长到我们主观感受的映射.

从上面的例子可以感受到, 映射的作用在于把集合 A 中的元素作为输入信号, 例如如不同的人、GPS坐标、光的波长等, 经过某种操作, 转换成我们关心的输出, 如名字、位置和颜色. 从这个意义上理解, 映射就是就是把输入 x 转化成 f(x) 的一个机器.

Function

1.1.3 函数

Tip

映射与函数

函数是一种特殊的映射: 从数集 A数集 B映射 f:AB 称为函数 (function). 函数可写成 y=f(x) 的形式, 其中 x 称为自变量, y 称为 x 对映的函数值.

Important

数列

数列是一类特殊的函数, 它把自然数集 N 映射到实数集 R 中, 这个函数可以记作 a(n), 不过更多的时候我们会把 n 作为下标, 以 an 表示数列得第 n 项, 并以 {an} 表示整个数列.

等差数列

  • 首项为 a1, 公差为 d 的等差数列的通项公式

an=a1+(n1)d
  • 等差数列的n 项和

Sn=na1+n(n1)2d

等比数列

  • 首项为 a1 , 公比为 q 的等比数列的通项公式

an=a1qn1
  • 等比数列的n 项和

Sn=a11qn1qq1)

Important

初等函数

  1. 幂函数: y=xα

  2. 指数函数: y=ax, 特别的有 y=ex, 后者在 python 中有专门的函数 numpy.exp(x)

  3. 对数函数: y=logax, 特别的有 y=lnx, 后者在 python 中有专门的函数 numpy.log(x)

  4. 三角函数: y=sin(x), y=cos(x), y=tan(x)

  5. 反三角函数: y=arcsin(x)

其它常用函数

  1. 绝对值函数: y=|x|

  2. 符号函数

y=sgn(x)={1,x>00,x=01,x<0
  1. Sigmoid函数

σ(x)=11+ex

Important

反函数

反函数逆映射的一个特例, 对于函数 f:xy (也要求 f 是一一映射), 其反函数为 f1:yx. 例如

  • y=3x+1 的反函数为 y=x13

  • y=ex 的反函数为 y=lnx.

反函数本质上是把 xy 的顺序对调了一下, 因此不难发现原函数与反函数的图像是关于直线 y=x 对称的.

反函数图形的对称性

Important

复合函数

对于函数 fg, 我们可以构造一个新的函数 y=f[g(x)], 它把自变量 x 通过函数 g 映射到 u=g(x), 再把 u 视作自变量 (也称为中间变量) 通过函数 f 映射到 y=y=f[g(x)]. 这个过程可以表示为:

xgufy.

我们把这个新函数 y=f[g(x)] 称为函数 fg复合函数, 记作 fg. 注意函数复合是讲顺序的, 一般来说 fggf.

Note

假设 f(x)=x+2, g(x)=x2, 则

(1)fg=g(x)+2=x2+2,(2)gf=[f(x)]2=(x+2)2.

Caution

计算机编程中的函数(function) 概念比数学中的函数要广, 它表示从输入 (可以是数、数组、函数等)到输出 (也可以是数、数组、函数等)的一系列操作.

深度学习与复合函数

神经网络

人工智能中的核心技术为深度学习, 深度学习的背后其实就是有很多层 (从几十到几千层都有) 的神经网络 (Neuron Network). 神经网络的本质正是复合函数. 对于图中所示的神经网络, 从最左端的输入信号开始, 之后每一层都是上一层信号的复合, 因此神经网络就是一个复合了很多次的函数, 这个函数把输入 (比如一张图片) 映射到我们关心的结果 (比如图像是猫还是狗的概率).

上机实验

  • set_mnist.ipynb: 手写数字识别演示.

1.2 极限

Tip

极限是微积分中的核心概念. 极限的出现代表了数学思想的一次转变, 而促成这一转变的动机来自于现实问题中对曲线相关问题的需求. 在初等数学中我们会计算矩形的周长和面积, 会计算三角形的周长和面积, 甚至是任意多边形的周长和面积, 但是, 这些都是由直线构成的结构, 而到了曲线大家就不会了. 曲线的长度怎么算? 由曲线构成区域的面积怎么算? 尽管我们初中就知道圆的周长是 2πr, 面积是 πr2, 但是为什么是这样, 只有运用微积分才能给出严格的证明.

极限的概念很直观, 但经过数学的严格化后会变得非常抽象. 可以说极限的公理化是一道门槛, 是我们从中学的初等数学迈向大学的高等数学的必经之路. 要学好极限并不容易, 这里面涉及从有限到无穷的观念转变. 我们会发现这条路一开始会辗转反复, 让人晕头转向, 但是当你学完这门课程再回头来看, 会发现这么做是值得的, 数学概念的严格化其实不是在追求外表的精美, 而是让我们的内心变得更加的强大, 使我们有力量走得更远. 那么, 我们深呼吸一下, 一起敲开通向高等数学的大门吧.

1.2.1 数列极限

Tip

极限与圆的面积

圆的面积怎么算? 为了计算圆的面积, 我们构造了一系列圆的内接正多边形, 这些正多边形的面积是可以通过初等数学计算的, 我们把它们的面积记作 An,n=1,2,. 通过直觉我们能感受到, n 趋于无穷大时, An 的面积会无限接近圆的面积Rd. 接下来我们要做的就是把这个直觉通过数学语言给严格化.

Caution

上机实验

  • limit_array_circle.ipynb: 圆面积的极限.

Important

极限是一个动中取静Rd的过程.

  • 什么在动? 数列 {An} 中的指标 n.

  • 什么是静? 圆面积是静, An 的取值会慢慢趋于稳定, 到最后几乎不变了, 数学上我们称这种行为叫收敛.

Note

极限存在的例子

一尺之捶, 日取其半 (版本1)

站在棒子的角度, 这个过程可以用一个数列描述. n 代表天数, an 代表杠剩下的长度.

a0=1,a1=12,a2=14,an=12n,

随着 n 的增加 (), an 的值不断靠近0 (), 直觉告诉我们当 n 区域无穷大时 an 的极限是0.

一尺之捶, 日取其半 (版本2)

站在砍棒人的角度, 这个过程也可以用一个数列描述. n 代表天数, bn 代表到第 n 天为止所取的棒子的总数.

b0=0,b1=12,b2=12+14=34,bn=12+14++12n=112n,

随着 n 的增加 (), bn 的值不断靠近1 (), 直觉告诉我们当 n 区域无穷大时 bn 的极限是1.

P21 例1

an=n+(1)n1n

随着 n 的增加 (), an 的值不断靠近1 (), 直觉告诉我们当 n 区域无穷大时 an 的极限是1.

P22 例2

an=(1)n(n+1)2,

随着 n 的增加 (), an 的值不断靠近0 (), 直觉告诉我们当 n 区域无穷大时 an 的极限是0.

Note

极限不存在的例子

例3

数列 {1,1,1,1,} 不收敛, 因为直觉告诉我们这个数列不下来.

例4

数列 {1,2,3,4,} 不收敛, 这个数列不断增长, 直觉告诉我们这个数列也不下来.

Important

数列极限的定义 (非常重要!!!)

{an} 为一数列, A 为一常数, 如果对于任意给定的正数 ε, 总存在正整数 N, 使得当 n>N 时有

|anA|<ε,

则称 A 为数列 {an}极限, 记作

limnan=A.

定义背后的数学直觉Rd: 所以数列 {an} 有极限就是, 当 n 足够大时, an 的值无限接近某个数 A. 上述定义把数列极限的直觉具象化了, 从而使得直觉变得可操作了. 根据定义, 我们现在可以严格的判断前面例子中数列的极限.

Note

一尺之捶, 日取其半 (版本1)

直觉: an=12n 的极限为0.

证明: 对于任意给定的 ε>0, 要找到 N 使得

|12N0|=12N<ε

N=[lnεln2]+1, 可知当 n>N 时, 总有 |an0|<ε. 因此 limnan=0.

一尺之捶, 日取其半 (版本2)

直觉: bn=112n 的极限为1.

证明: 对于任意给定的 ε>0, 要找到 N 使得

|112N1|=12N<ε

N=[lnεln2]+1, 可知当 n>N 时, 总有 |bn1|<ε. 因此 limnbn=1.

Note

P21 例1

直觉: an=n+(1)n1n 的极限为1.

证明: 对于任意给定的 ε>0, 要找到 N 使得

|n+(1)n1n1|=1n<ε

N=[1ε]+1, 可知当 n>N 时, 总有 |an1|<ε. 因此 limnan=1.

Note

P22 例2

直觉: an=(1)n(n+1)2 的极限为0.

证明: 对于任意给定的 ε>0, 要找到 N 使得

|(1)n(n+1)20|=1(n+1)2<ε

N=[1ε], 可知当 n>N 时, 总有 |an0|<ε. 因此 limnan=0.

Warning

数列极限的几条性质 (了解, 不需要证明)

  1. 如果数列 an 有极限, 那么它的极限唯一.

  2. 如果数列 an 有极限, 那么数列 an 一定有界.

  3. 如果 limnan=A, 且 A>0, 那么存在正整数 N, 当 n>N 时有 xn>0.

  4. 如果 limnan=A, 那么 an 的任一子数列的极限也是 A.

  5. 任意改变数列的有限多项, 不影响极限的收敛.

1.2.2 函数极限

Tip

函数极限跟数列极限本质上都是极限, 都是动中取静, 只不过数列极限中动的是 n, 而函数极限中动的是自变量 x. 之前我们强调过函数图像的重要性, 函数的极限过程同样可以通过函数图像来理解. 下面这张图可以作为我们对函数极限的直觉, 图中展示了 limx2f(x)=4, 请大家想想在这个极限过程中什么在, 什么是?

函数极限

Caution

上机实验

两个函数极限的例子:

  • limit_fun_sin_over_x.ipynb

  • limit_fun_sin_1_x.ipynb

Important

函数极限的定义 (非常重要!!!)

设函数 {f(x)} 在点 x0 的某一去心领域内有定义 ( 为了让 x 能够动起来), A 为一常数. 如果对于任意给定的正数 ε, 总存在正数 δ, 使得当 0<|xx0|<δ 时有

|f(x)A|<ε,

则称 A 为函数 {f(x)}x0极限, 记作

limxx0f(x)=A.

上述定义可以通过下图来理解

函数极限

所以函数 {f(x)}xx0 时有极限就是, 当 x 足够接近 x0 时, f(x) 的值无限接近某个数 A. 注意跟数列极限进行对比. 跟数列极限的定义一样, 上面关于函数极限的定义提供了一个可操作的流程, 能够将我们关于函数极限的直观具象化.

Note

直觉: f(x)=5x+1x0=2 的极限为 11.

证明: 由于

|f(x)11|=|(5x+1)11|=5|x2|<ε

为了使 5|x2|<ε, 只要 |x2|<ε5.

δ=ε5, 可知当 0<|x2|<δ 时, 总有 |f(x)11|<ε, 从而 limx2f(x)=11.

Note

直觉: limx1(2x1)=1.

: 由于

|f(x)A|=|(2x1)1|=2|x1|

为了使 |f(x)A|<ε, 只要

|x1|<ε2

所以, ε>0, 可取δ=ε2, 则当 x 适合不等式

0<|x1|<δ

时, 对应的函数值f(x)就满足不等式

|f(x)1|=|(2x1)1|<ε

从而

limx1(2x1)=1

Note

直觉: f(x)=x2+1x0=2 的极限为5.

证明: 对于任意给定的 ε>0, 要找到 δ 使得只要 0<|x2|<δ, 总有

|f(x)5|=|x2+15| =|x24| =|x2||x+2|.

为了把 |x+2| 用常数束缚住, 取 δ0=1. 当 |x2|<δ0 时, 1<x<3, 因此

|x+2|<5.

所以在 |x2|<1 的情况下有

|f(x)5|=|x2||x+2|<5|x2|.

现在给定任意 ε>0, 令

δ=min{1,ε5}.

0<|x2|<δ, 则同时有 |x2|<1(从而 |x+2|<5)且 |x2|<ε/5. 因此

|f(x)5|<5|x2|<5ε5=ε.

因此对任意 ε>0 存在上述 δ>0 使得 0<|x2|<δ 蕴含 |f(x)5|<ε, 于是 limx2(x2+1)=5.

Warning

函数极限的性质

  1. 如果 limxx0f(x) 存在, 则极限唯一.

  2. 如果 limxx0f(x)=A, 则 f(x)x0 周围有界, 即存在 M>0δ>0, 使得当 0<|xx0|<δ|f(x)|<M .

  3. 如果 limxx0f(x)=A>0, 则 f(x)x0 周围一定大于0, 即存在 δ>0, 使得当 0<|xx0|<δf(x)>0.

Warning

εδ 语言

本章的主要内容是数列极限函数极限定义, 在数学上我们也把这套定义极限的方法称为 εN 语言 (数列) 或 εδ 语言 (函数). 这样的定义看似繁缛, 但只有这样才能把极限的本质说清楚. 初学者不要怕麻烦, 做题时应该一字一句的把极限的定义写清楚. 怕麻烦不想写字的同学, 在熟练掌握了极限的定义之后, 可以使用两个约定的缩写符号:

  1. : 对于任意Rd

  2. : 存在Rd

使用这两个符号, 数列极限和函数极限的定义可以写成下面的形式 (仅仅是少几个字而已).

数列极限的定义

limnan=Aε>0, N, s. t.,  |anA|<ε if n>N.

函数极限的定义

limxx0f(x)=Aε>0, δ, s. t., |f(x)A|<ε if 0<|xx0|<δ.

Warning

对无穷大的描述

我们有时候会说一个数列或函数趋于无穷大, 也会写 limnan=limxx0f(x)=, 请注意, 这只是一种习惯上的说法, 并不是Rd真正意义上的 (有限的) 极限. 尽管如此, 我们可以借用类似 εN 语言的做法来从数学上定义什么叫趋于无穷大, 例如:

数列趋于无穷大

limnan=M>0, N, s. t., |an|>M if n>N.

函数趋于无穷大

limxx0f(x)=M>0, δ, s. t., |f(x)|>M if 0<|xx0|<δ.

1.2.3 极限的运算

Tip

这一讲我们主要关心如何计算极限.

  • 对于一些简单的极限计算, 每次都用直觉和 εδ 语言来计算极限太繁琐, 也没有必要. 很多时候极限的四则运算能够帮上大忙.

  • 有一些困难的极限问题, 我们需要跟强大的数学结论和工具, 本讲介绍的三明治定理单调有界数列有极限请收好.

注意, 本讲的性质和定理全部都建立在上一讲极限定义的基础之上, 其根本还是 εδ 语言.

Caution

希尔伯特的旅店

极限运算涉及到了无限Rd的概念, 对初学者来说这是一个之前从未踏足过的位置领域, 一些有限世界中的直觉将不再成立. 希尔伯特的旅店是一个有趣的故事, 通过这个故事希望能让大家对无限Rd有一颗敬畏之心.

Important

数列极限四则运算

  • 加减法: 如果 limnan=A, limnbn=B, 则 limn[an±bn]=A±B.

  • 乘法: 如果 limnan=A, limnbn=B, 则 limnanbn=AB.

  • 除法: 如果 limnan=A, limnbn=B, 且 B0, 则 limnanbn=AB.

证明见教学视频或问DeepSeek.

Important

函数极限四则运算

  • 加减法: 如果 limxx0f(x)=A, limxx0g(x)=B, 则 limxx0[f(x)±g(x)]=A±B.

  • 乘法: 如果 limxx0f(x)=A, limxx0g(x)=B, 则 limxx0f(x)g(x)=AB.

  • 除法: 如果 limxx0f(x)=A, limxx0g(x)=B, 且 B0, 则 limxx0f(x)g(x)=AB.

证明见教学视频或问DeepSeek.

Note

例1: 证明 limn1n=0

证明: 对任意给定的 ε>0, 我们需要找到正整数 N, 使得当 n>N 时:

|1n0|=1n<ε

解不等式 1n<εn>1ε

N=1ε+1(即不小于 1ε 的最小整数)

则当 n>N 时, 必有 1n<ε

limn1n=0.

Note

例2: 计算 limn12n

解法1(直接法)

limn1n=0 可得:

limn12n=12limn1n=0

解法2(εN 定义证明)

对任意 ε>0, 需存在 N 使得当 n>N 时:

|12n0|=12n<ε

解不等式得 n>12ε, 取 N=12ε+1 , 则当 n>N 时必满足 12n<ε , 故极限为 0.

Note

例3: 计算 limn1n2

:对任意 ε>0, 需存在 N 使得当 n>N 时:

|1n20|=1n2<ε

解不等式得 n>1ε, 取 N=1ε+1, 则当 n>N 时必满足 1n2<ε, 故极限为 0.

Note

例4: 计算 limx1(2x1)

解法1(直接代入法)

由于 f(x)=2x1x=1 处连续, 可直接代入:

limx1(2x1)=2(1)1=1

解法2(εδ 定义证明)

对任意 ε>0, 需找到 δ>0 使得当 0<|x1|<δ 时:

|(2x1)1|=2|x1|<ε

δ=ε2, 则当 0<|x1|<δ 时:

2|x1|<2ε2=ε

故极限为 1.

Note

例5: 计算 limx2x31x25x+3

解法: 分子在 x=2 处的值:231=7, 分母在 x=2 处的值:225(2)+3=3, 分母不为零, 可直接代入:

limx2x31x25x+3=73=73

Note

例6: 计算 limx3x3x29

解法:识别不定式:直接代入得 00, 需进一步处理, 因式分解分母:

x29=(x3)(x+3)

约去公因式:

x3x29=1x+3(x3)

计算简化后的极限:

limx31x+3=16

1.2.4 两个重要的极限

Tip

重要极限一

还记得"割圆法"求圆面积的例子吗? 圆的内接正 n 边形的面积当 n 的极限的计算最后就会落到极限 limx0sinxx 的计算, 这个极限与圆周率 π (阿基米德数Rd)有着深刻的联系.

Important

三明治定理

定理陈述
设函数 f(x),g(x),h(x) 在点 x0 的某去心邻域内满足:

  1. g(x)f(x)h(x)

  2. limxx0g(x)=limxx0h(x)=L, 则 limxx0f(x)=L.

数列版本
若数列 {an},{bn},{cn} 满足:

  1. bnancn(对充分大的 n

  2. limnbn=limncn=L, 则 limnan=L.

Important

重要极限1

limx0sinxx=1

证明: 首先考虑 x>0 的情形. 我们从几何出发, 把 x 看作是单位圆上的一小段弧度, 注意到

  • sinx 为对边长度

  • x 为圆弧长度(弧度制)

  • tanx 为切线长度

通过几何上观察可知

sinx<x<tanx

同时除以 sinx 并取倒数得

cosx<sinxx<1,x>0

对于 x<0 的情况, 利用奇函数性质:

sin(x)x=sinxx

因此同样有

cosx<sinxx<1,x<0

注意到

limx0cosx=1

应用三明治定理, 得

limx0sinxx=1.

Tip

重要极限二

极限 limn(1+1n)n 与无理数 e (欧拉数Rd)有密切的联系. Jacob Bernoulli 于1683年在研究复利的时候考虑过这个数列的极限.

Jakob Bernoulli

雅各布·伯努利与数e的发现

Caution

上机实验

  • limit_array_e.ipynb: 函数极限的例子.

Important

单调有界数列有极限

Important

重要极限2

limn(1+1n)n=e

证明见教学视频或问DeepSeek.

Warning

limx0(1+x)1x=e

Caution

可以证明

e=1+11!+12!++1n!+

证明的方法也是用单调有界数列有极限.

中学学过导数的同学可以算一下展开式

ex=1+x1!+x22!++xnn!+

的导数, 看看会发现什么有趣的现象?

1.2.5 复合函数的极限

Tip

下面的结论相当于极限运算中的换元法, 在计算极限的时候十分有用.

Warning

假设 y=f[g(x)], limxx0g(x)=u0, limuu0f(x)=A, 则 limxx0f[g(x)]=A.

这个结论请自行根据直觉理解, 证明略.

Note

综合运用极限的定义, 极限的四则运算复合函数的极限 (换元法), 以及三明治定理单调有界数列有极限等结论, 我们现在可以计算很多数列和函数的极限.

例1: limx0tanxx (P48: 例1)

limx0tanxx=limx0(sinxx1cosx)=(limx0sinxx)(limx01cosx)=1

Note

例2: limx01cosxx2 (P48: 例2)

limx01cosxx2=limx0(sin2xx211+cosx)=limx0(sinxx)2limx011+cosx=12

Note

例3: limx0arcsinxx (P48: 例3)

t=arcsinx, 则 x=sint, 当 x0 时, 有 t0. 于是由复合函数的极限运算法则得:

limx0arcsinxx=limt0tsint=1

Note

例4: limx(11x)x (P51: 例4)

:令 t=x, 则当 x 时, t.
于是

limx(11x)x=limt(1+1t)t=limt1(1+1t)t=1e

Note

例5: limx0tan2xsin5x

:令 u=2x, v=5x. 当 x0 时, u0v0, 此时 x=u2=v5, 即 v=52u.

对上式第一个括号中的部分采用 t=2x 的换元, 可知其在 x0 时的极限为1; 同理, 对上式第二个括号中的部分采用 t=5x 的换元, 可知其在 x0 时的极限也为1. 故

limx0tan2xsin5x=25.

1.3 连续函数

1.3.1 连续和间断

Tip

所谓连续函数, 直白的说就是能笔不离开纸面一气画出来的函数, 下面我们就来运用极限的概念把这个连续的直观Rd数学化.

Important

 

函数在某一点的连续

limxx0f(x)=f(x0), 则称 f(x)x0 处连续.

连续函数

如果函数在某个区域上每一点都连续, 则称 f(x) 是该区域上的连续函数.

Note

连续函数

例1 f(x)=|x|

f(x)(,+) 上连续.

绝对值函数

例2: f(x)=1|x|

f(x)(,0)(0,+) 上连续, 但是在 0 点处不连续.

绝对值的倒数

Warning

间断函数

不连续的函数就是间断函数. 间断函数一定有某处是不连续的, 造成不连续的原因很多, 其中有些间断点还能够被挽救回来变成连续的 (可去间断点), 有些则挽救不回来.

Note

间断函数的例子

 

例3 f(x)=sinxx

这个函数在 x=0 处不连续, 造成不连续的原因是 f(0) 没有定义, 从而 limx0f(x)=f(0) 无从说起.

幸运的是, f(x)x=0 处的极限等于1, 只要令 f(0)=1 就可以让 f(x) 在0点也连续了, 从而改良后的 f(x) 对任意 x(,) 都连续.

例4: f(x)=sin1x

f(x)x=0 点处不连续. 造成不连续的原因跟例3一样也是 f(0) 没有定义.

不幸的是, f(x)x=0 处无限震荡, 没有极限, 所以这个函数没法像例3一样简单的补上一个点就成为连续函数.

震荡函数

Warning

单侧极限

  • 左连续(注意极限记号下方的 号)

limxx0f(x)=Aε>0, δ>0, s. t., |f(x)A|<ε if δ<xx0<0.

  • 右连续(注意极限记号下方的 + 号)

limxx0+f(x)=Aε>0, δ>0, s. t., |f(x)A|<ε if 0<xx0<δ.

造成函数 f(x)x=x0 处的极限不存在的一个常见原因是 f(x)左右极限不相等.

 

Note

符号函数 sgn(x)

sgn(x)={1,if x>0,0,if x=0,1,if x<0.

该函数在 x0=0 处不连续, 造成不连续的原因是函数在该点的左极限 (x 从左往右趋于0) 等于 1, 右极限 (x 从右往左趋于0) 等于 1, 左右极限不相等. 这种情况也没有办法通过简单的修改 f(0) 的值来让函数连续.

Warning

函数的连续性是一个很自然的性质, 我们所感受到的世界就是连续的: 物体运动的轨迹, 温度的变化, 甚至计算机里的0-1也是用连续函数来近似的.

  • 在做目标追踪问题的时候, 连续是一个很重要的先验;

  • 在求解物理方程的时候, 解的连续性是一个很重要的约束;

  • 在人工智能里, 连续性是解决高维问题的一个核心底层逻辑.

1.3.2 闭区间上连续函数的性质

Tip

闭区间上的连续函数是函数中的乖宝宝Gn, 因为这类函数的值总是可以被控制住.

Important

闭区间上连续函数的定义

如果函数 f(x)(a,b) 内连续, 在 a 处右连续, 在 b 处左连续, 则 f(x) 是闭区间 [a,b] 上的连续函数.

Important

维尔斯特拉斯 (Weierstrass) 极值定理/极大极小值定理

闭区间 [a,b] 上的连续函数有界, 且至少有一点 x1[a,b] 使得 f(x1)f(x)[a,b] 上的最大值, 也至少有一点 x2[a,b] 使得 f(x2)f(x)[a,b] 上的最小值.

Note

两个反例

例1: f(x)=1x

在闭区间[1,1]上, f(x)x=0 处不连续, 因为 f(0) 没有定义. 因此, f(x)[1,1] 上的连续性是不成立的. 违反维尔斯特拉斯极值定理, f(x) 在闭区间[1,1]上无界, 当x0 时, limx0|f(x)|+,不存在最大值和最小值.

例2: 符号函数

sgn(x)={1,if x>0,0,if x=0,1,if x<0.

符号函数在闭区间[1,1]上不连续, 因为在x=0处, 符号函数的左右极限不相等.

Important

布尔查诺 (Bolzano) 定理/介值定理

设闭区间 [a,b] 上的连续函数 f(x) 在端点的值分别为 f(a)<0, f(b)>0, 则一定存在 x0[a,b] 使得 f(x0)=0.

Note

例1:证明方程 x34x2+1=0 在区间 (0,1) 内至少有一个根

证明:函数 f(x)=x34x2+1 在闭区间 [0,1]上连续, 又f(0)=1>0, f(1)=2<0.

根据介值定理, 区间 [0,1] 内存在 c 满足 f(c)=0, 此即方程 x34x2+1=0 的一个根.

Caution

布尔查诺定理时一个存在性定理, 它只告诉我们一个东西有还是没有, 与之相对的是所谓的构造性定理, 后者会给出找出这个东西的具体办法. 存在性定理构造性定理都是数学的重要组成部分, 按照一般的理解, 前者在纯数学中的地位更高, 后者则一般更受工程师和程序员的青睐.

为了让大家体会存在性定理的奇妙之处, 下面我们用布尔查诺定理来证明一个看起来并不明显的命题(摘自库朗所著的《什么是数学》一书). 命题如下: 如果 AB 是平面内的任意两个区域, 那么在平面内一定存在一条直线, 该直线同时平分 AB. (注:所谓一个"区域", 是指平面内一条简单闭曲线所包围的部分.)

直线同时等分两个区域

证明:

先在平面上选择某一固定点 P, 并且从 P 引出一条射线 PR 当作度量角度的始边. 如果作与 PR 的夹角为 x 的任一射线 PS, 那么在平面上会有一条与 PS 同方向且 平分区域 A 的有向直线.

因为, 如果我们作一条与 PS 同方向的有向直线 l1, 但它整个在 A 的一侧, 然后平行地移动这条直线, 直到直线处在位置 l2, 那么由区域 A 在直线右侧(如果直线指北, 则东向是右侧)的面积减去 A 在直线左侧的面积所定义的函数, 其值对 l1 是负的, 对 l2 是正的. 因为这个函数是连续的, 由布尔查诺定理, 必有某个中间位置 lx, 使它为零, 也就是 lx 平分了 A. 因此, 对于 xx=0x=360 的每个值 x, 平分 A 的直线 lx 都是唯一确定的.

现在把函数 y=f(x) 定义为 B 在直线 lx 右侧面积减去 Blx 左侧的面积. 假设直线 l0PR 同方向且平分了 A, 并且 Bl0 右侧的面积大于左侧, 则对 x=0, y 是正的. 如果 x 增加到 180, 那么直线 l180RP 平行, 它虽然和 l0 一样地分割 A, 但与 l0 方向相反, 右和左互换, 因此 yx=180 时和在 x=0 时的数值相同, 但符号相反, 所以是负的. lx 旋转时, yx 的连续函数, 那么在 0180 之间, 存在 x 的某个值 α, 使 y 等于零.

因此方向线 lα 同时平分 AB, 证明完毕.