从变化率理解求导、微分与积分
从变化率理解求导、微分与积分
这篇文档从一个简单角度理解三个概念:
1
2
3
4
5
求导 = 求局部的瞬时变化率.
微分 = 描述微小变化量之间的关系.
积分 = 把连续的微小贡献累加起来.
三者不是互相独立的概念, 而是可以连成一条完整的关系。
1. 求导: 求瞬时变化率 ( 我在这里变化得有多快? )
核心用途是:
知道系统在当前位置的”变化趋势和变化速度”.
假设:
\[y=x^2\]现在想知道 $x$ 变化时, $y$ 变化得有多快。
先让 $x$ 从:
\[x\]变化到:
\[x+h\]那么 $y$ 从:
\[x^2\]变化到:
\[(x+h)^2\]这一小段范围内, $y$ 的平均变化率是:
\[\frac{(x+h)^2-x^2}{h}\]展开:
\[\frac{x^2+2xh+h^2-x^2}{h}\]得到:
\[2x+h\]现在让:
\[h\to0\]就得到:
\[2x\]所以:
\[\frac{\mathrm{d}y}{\mathrm{d}x}=2x\]也可以写成:
\[y'(x)=2x\]因此:
导数表示某一个位置上的瞬时变化率。
例如 $x=3$ 时:
\[\frac{\mathrm{d}y}{\mathrm{d}x}=6\]表示在 $x=3$ 附近, $x$ 每发生一点变化, $y$ 大约以 6 倍的速度变化。
2. 微分: 描述微小变化之间的关系 ( 如果我改变这么一点, 结果大约改变多少? )
核心用途是:
根据输入的微小变化, 估计输出会发生多少变化.
已经知道:
\[\frac{\mathrm{d}y}{\mathrm{d}x}=2x\]可以写成:
\[\mathrm{d}y=2x \, \mathrm{d}x\]这里:
$\mathrm{d}x$ 表示 $x$ 的微小变化。
$\mathrm{d}y$ 表示这个变化对应产生的 $y$ 的微小变化。
因此:
\[\mathrm{d}y=2x \, \mathrm{d}x\]可以理解成:
当 $x$ 发生微小变化 $dx$ 时, $y$ 对应产生微小变化 $\mathrm{d}y$。
例如 $x=3$ 时:
\[\mathrm{d}y=6 \, \mathrm{d}x\]可以直观理解成:
1
2
3
4
5
x 微小变化 1 份
↓
y 微小变化约 6 份
所以目前可以简单地把微分理解成:
微分描述各个微小变化量之间的关系。
3. 求导和微分的关系
导数 = 变化比例.
微分 = 按照这个变化比例, 一个微小输入会产生多少微小输出.
导数和微分来自同一个局部变化规律, 只是关注的信息不同。
导数关注: $\frac{\mathrm{d}x}{\mathrm{d}y}$
即: 变化比例是多少?
微分关注: $\mathrm{d}y=f′(x) \, \mathrm{d}x$
即: 给定一个微小输入变化 $\mathrm{d}x$, 会产生多少输出变化 $\mathrm{d}y$?
对于:
\[y=x^2\]求导得到:
\[\frac{\mathrm{d}y}{\mathrm{d}x}=2x\]它描述的是变化率。
写成微分形式:
\[\mathrm{d}y=2x \, \mathrm{d}x\]它描述的是微小变化之间的关系。
所以可以理解成:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
函数:
y = x²
↓ 求导
局部变化率:
dy/dx = 2x
↓ 写成微分形式
微小变化关系:
dy = 2x dx
4. 积分: 把微小贡献累加起来 ( 这些局部的小变化累计起来, 总共有多少? )
核心用途是:
我已经知道每一个局部位置会贡献多少, 现在想知道整个范围累积起来是多少.
现在反过来看:
\[\mathrm{d}y=2x \, \mathrm{d}x\]它告诉我们:
在每一个位置 $x$, 发生一个微小的 $dx$, 就会产生一个微小的 $dy$。
如果想知道 $x$ 从 $1$ 变化到 $3$ 的过程中, $y$ 一共变化了多少, 就需要把途中所有的 $dy$ 累加起来:
\[\int \mathrm{d}y\]也就是:
\[\int_1^3 2x \, \mathrm{d}x\]因此积分可以直观理解成:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dx -> 产生一个 dy
dx -> 产生一个 dy
dx -> 产生一个 dy
dx -> 产生一个 dy
...
全部加起来
↓
得到总变化量
所以:
积分就是把连续的微小贡献累加起来。
这里的微小贡献不一定叫 $\mathrm{d}y$。
例如速度问题中:
\[\mathrm{d}s=v(t)\mathrm{d}t\]$v(t)dt$ 是一小段路程。
那么:
\[\int v(t)\mathrm{d}t\]就是把所有小段路程累加成总路程。
5. 第一种积分方法: 解析积分(找原函数)
第一种方法通常称为 解析积分, 也可以说是 用解析法计算积分。
这里可以先简单理解为:
通过寻找原函数来计算积分。
例如计算:
\[\int_0^2(x+1)\mathrm{d}x\]可以先把:
\[(x+1)\mathrm{d}x\]看成某个函数 $F(x)$ 的微分:
\[\mathrm{d}F=(x+1)\mathrm{d}x\]你要高兴的话写成: $\mathrm{d}y=(x+1) \, \mathrm{d}x$ 也可以, 这样类似之前的写法.
那么:
\[\frac{\mathrm{d}F}{\mathrm{d}x}=x+1\]也就是:
\[F'(x)=x+1\]现在问题变成:
哪个函数求导以后等于 $x+1$?
因为:
\[\frac{\mathrm{d}}{\mathrm{d}x}\left(\frac{1}{2}x^2\right)=x\]并且:
\[\frac{\mathrm{d}}{\mathrm{d}x}(x)=1\]所以:
\[F(x)=\frac{1}{2}x^2+x+C\]这就是找到的原函数。
其中 $C$ 是任意常数。
因为所有常数求导以后都是 $0$。
例如:
\[\frac{\mathrm{d}}{\mathrm{d}x}(x^2+1)=2x\] \[\frac{\mathrm{d}}{\mathrm{d}x}(x^2+100)=2x\]所以从导数反推原函数时, 必须保留:
\[+C\]6. 利用范围得到定积分结果
已经得到:
\[F(x)=\frac{1}{2}x^2+x+C\]积分范围是:
\[0\rightarrow2\]根据微积分基本定理:
\[\int_0^2(x+1) \, \mathrm{d}x = F(2)-F(0)\]计算:
\[F(2)=\frac{1}{2}\times2^2+2+C=4+C\] \[F(0)=C\]所以:
\[F(2)-F(0)=(4+C)-C=4\]最终:
\[\boxed{ \int_0^2(x+1) \, \mathrm{d}x=4 }\]这里的 $C$ 会自动抵消。
7. 解析积分的完整流程
因此解析积分可以理解成:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
∫ f(x) dx
↓
认为:
dF = f(x) dx
↓
所以:
F'(x) = f(x)
↓
从导数反推出原函数:
F(x)
↓
如果积分范围是 a -> b:
F(b) - F(a)
↓
得到积分结果
所以对于普通的手算积分:
解析积分最关键的步骤, 通常就是从已知的导数形式反推出原函数。
也就是:
1
2
3
4
5
解析积分
=
找原函数
+
利用积分范围计算结果
8. 但有些原函数无法简单写出来
例如:
\[\int e^{-x^2} \, \mathrm{d}x\]它的原函数存在。
但是无法使用我们通常熟悉的有限组合, 例如:
1
2
3
4
5
6
多项式
指数函数
对数函数
三角函数
开方
四则运算
写成一个简单的原函数公式。
因此对于:
\[\int_0^1e^{-x^2} \, \mathrm{d}x\]不能方便地使用:
1
2
3
4
5
找到 F(x)
↓
F(1) - F(0)
这时就可以使用另一种方法:
数值积分。
9. 第二种积分方法: 数值积分
数值积分不尝试寻找原函数。
它直接按照:
把大量微小贡献加起来。
这个思路计算。
例如:
\[\int_0^1e^{-x^2} \, \mathrm{d}x\]先把:
\[0\rightarrow1\]分成 $N$ 份。
假设首先:
\[N=4\]那么每份宽度:
\[\Delta x=\frac{1}{4}=0.25\]区间变成:
1
2
0 0.25 0.5 0.75 1
|----------|----------|----------|----------|
使用每一段的左端点计算。
10. 第一段
\[x=0\]函数值:
\[e^{-0^2}=1\]这一段的贡献:
\[1\times0.25=0.25\]11. 第二段
\[x=0.25\]函数值:
\[e^{-0.25^2} \approx0.939413\]贡献:
\[0.939413\times0.25 \approx0.234853\]12. 第三段
\[x=0.5\]函数值:
\[e^{-0.5^2} \approx0.778801\]贡献:
\[0.778801\times0.25 \approx0.194700\]13. 第四段
\[x=0.75\]函数值:
\[e^{-0.75^2} \approx0.569783\]贡献:
\[0.569783\times0.25 \approx0.142446\]14. 把所有贡献加起来
\[0.25 + 0.234853 + 0.194700 + 0.142446\]得到:
\[0.821999\]所以:
\[\int_0^1e^{-x^2} \, \mathrm{d}x \approx0.821999\]这个结果误差还比较大。
原因是只切了 4 段。
15. 增加切分数量
如果增加 $N$:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
N = 4
约 0.821999
N = 10
约 0.777817
N = 100
约 0.749979
N = 1000
约 0.747140
N = 10000
约 0.746856
可以看到结果逐渐接近:
\[0.746824...\]也就是:
\[\boxed{ \int_0^1e^{-x^2} \, \mathrm{d}x \approx0.746824 }\]16. 数值积分实际执行的算法
设:
\[\Delta x=\frac{1}{N}\]每一个位置:
\[x_i=i\Delta x\]每一小段贡献:
\[e^{-x_i^2}\Delta x\]然后全部求和:
\[\sum_{i=0}^{N-1} e^{-x_i^2}\Delta x\]程序实际上就是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
N = 10000
dx = 1 / N
sum = 0
for i = 0 to N - 1
{
x = i * dx
value = exp(-x * x)
contribution = value * dx
sum += contribution
}
最终:
1
sum ≈ 0.746856
17. 为什么增加 N 会越来越准确
数学上的积分可以理解成:
\[\int_a^b f(x) \, \mathrm{d}x=\lim_{N\to\infty} \sum_{i=0}^{N-1} f(x_i)\Delta x\]也就是说:
1
2
3
4
5
6
7
8
9
10
11
12
13
N 越来越大
↓
区间被切得越来越细
↓
Δx 越来越接近 0
↓
有限求和越来越接近真正的积分
真正的数学定义考虑:
\[N\to\infty\]而计算机无法进行无限次计算。
所以数值积分使用:
\[N=100\] \[N=10000\]或者其他有限数量的采样, 去近似最终结果。
因此:
数值积分就是使用有限次数的求和, 去近似积分中无限细分的求和极限。
18. 解析积分与数值积分的区别
可以最终整理成:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
积分
│
│
累加连续的微小贡献
│
┌──────────┴──────────┐
│ │
解析积分 数值积分
│ │
寻找原函数 把区间切成很多段
│ │
F'(x) = f(x) 每段计算一个贡献
│ │
找到 F(x) f(x) × Δx
│ │
F(b) - F(a) 全部求和
│ │
得到结果 得到近似结果
这里可以直接记住:
1
2
3
4
5
6
7
解析积分
=
找原函数
数值积分
=
切分 + 采样 + 求和近似
19. 最终理解
目前可以先建立下面这套认识。
求导
从一个完整函数中, 得到某一点的瞬时变化率。
例如:
\[y=x^2\]得到:
\[\frac{\mathrm{d}y}{\mathrm{d}x}=2x\]微分
把这个变化率写成微小变化之间的关系:
\[\mathrm{d}y=2x \, \mathrm{d}x\]表示:
一个微小的 $\mathrm{d}x$, 会产生多少 $\mathrm{d}y$。
积分
把这些微小贡献不断累加起来:
\[\int \mathrm{d}y\]得到整个范围内的总变化。
解析积分
如果可以从:
\[F'(x)=f(x)\]找到原函数:
\[F(x)\]那么可以直接使用:
\[\int_a^b f(x)\mathrm{d}x=F(b)-F(a)\]计算积分。
所以:
解析积分可以简单理解成”寻找原函数的方法”。
数值积分
如果原函数不好求, 或者无法用简单公式表示, 就直接把区间分成大量小段:
\[f(x_0)\Delta x + f(x_1)\Delta x + f(x_2)\Delta x +\cdots\]用有限次数的求和近似真正的积分。
因此目前可以把整套关系浓缩成:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
函数
│
│ 求导
↓
局部变化率
dy/dx
│
│ 写成微分
↓
dy = f'(x) dx
│
│ 积分
↓
把无数局部变化累加
│
↓
得到整体变化
其中积分有两条主要计算路线:
1
2
3
4
5
6
7
8
9
10
11
12
能方便找到原函数
↓
解析积分
↓
F(b) - F(a)
不方便找到原函数
↓
数值积分
↓
大量小块求和近似
这就是目前阶段理解求导、微分和积分最重要的整体关系。
参考网页
- [1811.03459] Simplifying and Refactoring Introductory Calculus
- Markdown 数学公式指导手册 | Freeopen
- 注: 这篇文章已过时, 正确的 $\mathrm{d}$ 的写法应该是
\mathrm{d}, 空格的写法是\,
- 注: 这篇文章已过时, 正确的 $\mathrm{d}$ 的写法应该是