《普林斯顿微积分读本》读书笔记————第一章

集合 (aggregate)

为了后面我们更好的理解函数,我们需要先了解下什么是集合

举个简单的例子:

问题家里有多少种宠物?分别是哪些?假如我们家有两只狗,三条金鱼,一只猫。那我应该怎么回答?

我应该回答:3 种,分别是狗,猫,鱼。

就组成了家里的宠物种类的集合。而都是这个集合的元素

用数学的方法表示就是家里的宠物种类={狗,猫,鱼}

集合的三个特性

确定性

给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。

说人话就是:在人类性别的集合里,要么是女要么是男。

互异性

一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。有时需要对同一元素出现多次的情形进行刻画,可以使用多重集,其中的元素允许出现多次。

说人话就是:我家两条狗,但是在家里的宠物种类的集合里只会出现一次,而不会出现两次

无序性

一个集合中,每个元素的地位都是相同的,元素之间是无序的。集合上可以定义序关系,定义了序关系后,元素之间就可以按照序关系排序。但就集合本身的特性而言,元素之间没有必然的序。

说人话就是:{狗,猫,鱼}{狗,鱼,猫}是等价的。

集合的分类

空集

什么元素都没有的集合就是空集,用符号表示。

空集是个特殊的集合,它有 2 个特点:

  1. 空集∅是任意一个非空集合的真子集
  2. 空集是任何一个集合的子集

那什么是子集和真子集呢?

子集

函数

函数是将一个对象转换为另一个对象的规则。起始对象成为输入,来自成为定义域集合。返回的对象成为输出,来自称为上域的集合。

$$
f(x) = x^2
$$

$f$是变换规则,而$f(x)$是把这个变换规则应用与变量x后得到的结果。因此说f(x) 是一个函数是不正确的,应该是f 是一个函数

用 JavaScript 举个例子

1
2
3
4
5
6
7
function addOne(x){
x += 1;
return x;
}

console.log(addOne(1)) // 2
console.log(addOne) // [Function: addOne]

演示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
➜ node
Welcome to Node.js v12.13.1.
Type ".help" for more information.
> function addOne(x){
... x += 1;
... return x;
... }
undefined
>
> console.log(addOne(1))
2
undefined
> console.log(addOne)
[Function: addOne]
undefined
>

g(x) = x^2的定义域为大于或者等于 0 (x>=0),它看上去和上面的f一样,但是实际不一样,因为定义域不一样。例如f(-1/2)=1/4,而g(-1/2)却是没有意义的。函数g会拒绝非其定义域中的一切。由于gf有相同的规则,但g的定义域小于f的定义域,因此我们就说g是由限制f的定义域产生的。

一个函数必须给每一个有效的输入制定唯一的输出:一个患有消化不良症的狗,吃什么都会吐出来。我们可以令j(x)=当狗吃 x 时呕吐物的颜色。为了使之有效,我们必须认为如果狗吃了玉米面卷,它的呕吐物始终是一种颜色。如果有时是红色,有时是绿色,那就不太好了。

这个是什么意思呢?难道函数还会有不唯一的输出的情况?数学上的例子我是找不到了,以为我是数学渣。但是我能找到一类 JavaScript 的函数。

1
2
3
function getTime(x){
return new Date() + " " + x
}

演示:

1
2
3
4
5
6
7
8
9
10
11
➜ node
Welcome to Node.js v12.13.1.
Type ".help" for more information.
> function getTime(x){
... return new Date() + " " + x
... }
undefined
> getTime(2)
'Wed Dec 11 2019 16:16:00 GMT+0800 (GMT+08:00) 2'
> getTime(2)
'Wed Dec 11 2019 16:16:02 GMT+0800 (GMT+08:00) 2'

值域是所有可能的输出组成的集合。值域是可以重复的。

值域上域的子集,上域是可能输出的集合,值域是实际输出的集合。

区间表示法

1
2
3
4
[a, b] # {x:a<=x<=b} 闭区间
(a, b] # {x:a<x<=b} 半开区间
[a, b) # {x:a<=x<b} 半开区间
(a, b) # {x:a<x<b} 开区间

求定义域

就是求输入集合,需要考虑到式子对定义域取值的限制

  1. 分数的分母不能是零
  2. 不能区一个附属的平方根
  3. 不能取一个负数和零的对数
  4. tan(90deg) 是无定义的

利用图像求值域

垂线检验

圆形轨道公式不是函数,因为没有通过垂线检验。

反函数

  1. 从一个函数 f 出发,使得:对于在 f 值域中的任意 y,都只有唯一的 x 值满足 f(x)=y,也就是说,不同的输入对于不同的输出,现在我们就来定义反函数$f^-1$
  2. $f^-1$的定义域和 f 的值域相同
  3. $f^-1$的值域与 f 的定义域相同
  4. $f^-1(y)$的值就是满足 f(x)=y 的 x。所以如果 f(x)=y,那么$f^-1(y)=x$

水平线检验

Q1: 如何知道对于 f 值域中的任意 y,只有一个 x 值满足$f(x)=y$,最好的方法也许是看下函数图像。

水平线检验这是用来检验一个函数是否存在反函数的一种方法。

求逆

Q2: 如何求得函数 f 的反函数?

如果一个函数有反函数,那么反函数的图像会与原函数关于 y=x 对称(镜像)

限制定义域

Q3: 如果水平线检验失败并且没有反函数,那么应该怎么办?

解决这个唯一的方法是:除了这些多个 x 值中的一个,我们放弃所有其他的值,这称为限制函数的定义域

关于反函数的反函数

如果 f 有反函数,那么对于在 f 定义域中的所有的 x,$f^-1(f(x)) = x$成立;同样,对于在 f 值域中的所有的 y, 都有 x,$f(f^-1(y)) = y$

对于限制定义域的情况需要注意:

如果一个函数 f 的定义域可以被限制,使得 f 有反函数$f^-1$,那么

  • 对于 f 值域中的所有 y,都有$f(f^-1(y))=y$, 但是
  • $f^-1(f(x))$可能不等于 x;事实上,$f^-1(f(x)) = x$仅当 x 在限制的定义域中才成立

函数的复合

将一个函数的输出作为另一个函数的输入。

我们使用下面的形式表示

$$
f=hog
$$

从右到左,g 的输出是 h 的输入。

用 js 的写法就是

1
2
3
4
5
6
7
8
9
10
function g(x){
return x+1;
}

function h(x){
return x*x;
}

const f = h(g(1))
console.log(f)

函数的复合与函数顺序有关,而函数的乘积与函数的顺序无关

奇函数和偶函数

当对 f 定义域内所有的 x,有 f(-x)=f(x),则 f 是偶函数。函数的图像关于 y 轴具有镜像对称性

当对 f 定义域内所有的 x,有 f(-x)=-f(x),则 f 是奇函数。函数的图像关于原点具有 180 度的点对称性

一个函数可能是奇函数,也可能是偶函数,也可能是非奇非偶函数。

只有一个函数是又奇又偶的,f(x)=0(零函数)

怎么验证奇偶性

要判断一个函数的奇偶性,使用定义,将原函数的 x 换成-x,与原函数做对比。 f(-x)=f(x),则 f 是偶函数。f(-x)=-f(x),则 f 是奇函数。前面两者都不是则是非奇非偶函数。

线性函数的图像

形如 f(x)=mx+b 的函数叫做线性函数。

如果已知直线通过点$(x_0,y_0)$斜率为 m,则它们的方程为$y-y_0=m(x-x_0)$

如果一条直线通过$(x_1,y_1)$和$(x_2,y_2)$,则它的斜率为$(y_2-y_1)/(x_2-x_1)$


《普林斯顿微积分读本》读书笔记————第一章
https://bubao.github.io/posts/f6e25e88.html
作者
一念
发布于
2019年9月19日
许可协议