第 11 章 不定積分與定積分¶
本章重點:
- 從「面積」與「累積量」的角度理解積分。
- 認識不定積分(反導數)與定積分,及兩者的關係。
- 使用 SymPy 計算基本不定積分與定積分。
- 了解積分與導數之間的「微積分基本定理」。
- 用定積分處理面積、路程、總成本等應用問題的基本模型。
本章不是要把所有積分技巧一網打盡,而是希望用 Python / SymPy 幫你建立直觀: 什麼情況會想到用積分?積分結果代表什麼量?
11.1 從面積到積分的直觀¶
先回想國中、高中學過的簡單面積:
- 長方形:$A = 長 \times 寬$。
- 三角形:$A = \dfrac{1}{2} 底 \times 高$。
若我們想求某條曲線 $y = f(x)$ 與 $x$ 軸之間,從 $x=a$ 到 $x=b$ 的面積, 可以將區間 $[a,b]$ 切成許多小段,每小段用長方形近似,再把所有面積加總。
當切得越來越細,這種「近似和」會漸漸收斂到一個極限, 這個極限就是定積分:
$$\int_a^b f(x)\,dx.$$
在 SymPy 中,我們不需要手算這些和,而是直接使用 integrate 幫我們算出極限值,
但背後的想法就是「無限多個極小長方形的面積和」。
11.2 不定積分:反導數¶
導數告訴我們:給定 $F(x)$,可以算出 $F'(x)$。 「不定積分」則是反過來的問題:
已知 $f(x)$,找一個 $F(x)$ 使得 $F'(x) = f(x)$。
此時我們寫成:
$$\int f(x)\,dx = F(x) + C,$$
其中 $C$ 是任意常數,稱為積分常數。
例:若 $f(x) = 2x$,則其中一個原函數是 $F(x) = x^2$, 但 $x^2 + 1$ 或 $x^2 - 3$ 的導數也是 $2x$, 因此所有原函數可以寫成 $x^2 + C$。
import sympy as sp
sp.init_printing()
x = sp.symbols('x', real=True)
expr = 2*x
F = sp.integrate(expr, x)
expr, F
再試幾個常見例子:
- $\int x^2\,dx$
- $\int \sin x\,dx$
- $\int e^x\,dx$
- $\int \dfrac{1}{x}\,dx$($x>0$ 時是 $\ln x$)
examples = [x**2, sp.sin(x), sp.exp(x), 1/x]
[sp.integrate(f, x) for f in examples]
11.4 基本不定積分公式(反導數對照表)¶
由導數公式反向整理,可以得到一些基本的不定積分:
- $\displaystyle \int x^n\,dx = \frac{x^{n+1}}{n+1} + C$($n \ne -1$)
- $\displaystyle \int \cos x\,dx = \sin x + C$
- $\displaystyle \int \sin x\,dx = -\cos x + C$
- $\displaystyle \int e^x\,dx = e^x + C$
- $\displaystyle \int \frac{1}{x}\,dx = \ln|x| + C$($x \ne 0$)
在 SymPy 中,我們可以利用 diff 檢查積分結果是否正確:將結果微分,應該回到原函數。
test_expr = sp.sin(x)
F = sp.integrate(test_expr, x)
sp.simplify(sp.diff(F, x)), test_expr
11.5 定積分:帶上下限的積分¶
定積分 $\displaystyle \int_a^b f(x)\,dx$ 可以直觀地理解為:
- 曲線 $y=f(x)$ 與 $x$ 軸之間、從 $x=a$ 到 $x=b$ 之「有符號」面積。
若 $f(x) \ge 0$,則定積分就是一般的面積; 若 $f(x)$ 在部分區間為負,則定積分會把那部分視為「負面積」。
SymPy 的 integrate 若多指定區間,就會計算定積分。
expr = x
I = sp.integrate(expr, (x, 0, 3)) # ∫_0^3 x dx
expr, I
從幾何角度來看,$y=x$ 與 $x$ 軸、$x=0$ 與 $x=3$ 圍成一個三角形, 面積應為 $\dfrac{1}{2}\cdot 底(=3) \cdot 高(=3) = 9/2$, 與定積分結果一致。
11.6 微積分基本定理(直觀版)¶
微積分基本定理 告訴我們導數與定積分之間有深刻的關係:
若 $F'(x) = f(x)$,則:
$$\int_a^b f(x)\,dx = F(b) - F(a).$$
也就是:
- 先找到 $f(x)$ 的反導數(原函數) $F(x)$。
- 再把上限 $b$ 與下限 $a$ 代入,做差。
這就是我們在做定積分時常用的「先積分、再代上下限」的理論基礎。
例:計算 $\displaystyle \int_0^1 2x\,dx$。
- 先求不定積分:$\int 2x\,dx = x^2 + C$。
- 套用基本定理:$\int_0^1 2x\,dx = [x^2]_0^1 = 1^2 - 0^2 = 1$。
用 SymPy 驗證:
expr = 2*x
I = sp.integrate(expr, (x, 0, 1))
I
11.7 常見定積分例子¶
- $\displaystyle \int_0^\pi \sin x\,dx$
- $\displaystyle \int_1^e \frac{1}{x}\,dx$
- $\displaystyle \int_0^1 (x^2 + 1)\,dx$
expr1 = sp.sin(x)
expr2 = 1/x
expr3 = x**2 + 1
I1 = sp.integrate(expr1, (x, 0, sp.pi))
I2 = sp.integrate(expr2, (x, 1, sp.E))
I3 = sp.integrate(expr3, (x, 0, 1))
I1, I2, I3
從幾何與解析角度:
- $\int_0^\pi \sin x\,dx = 2$:對應到半個「正弦波鼓起來」的面積。
- $\int_1^e \dfrac{1}{x}\,dx = 1$:對應到自然對數的定義性質之一。
- $\int_0^1 (x^2 + 1)\,dx$ 可拆成 $\int_0^1 x^2 dx + \int_0^1 1 dx$。
11.8 用圖形輔助理解定積分(概念說明)¶
在 Jupyter Notebook 中,可以搭配繪圖工具把「曲線下的面積」畫出來, 加深對定積分作為面積/累積量的直觀。
純用 SymPy 的 plot 雖然不直接填色,但仍可視覺化 integrand 的形狀。
若想要更漂亮的塗色,可以搭配 matplotlib 自行處理(這超出本書主線,只作提示)。
下面範例僅畫出函數,以 $y=x^2$ 在 $[0,1]$ 為例:
sp.plot(x**2, (x, 0, 1), title='The graph of y = x^2 on the interval [0,1]')
<sympy.plotting.backends.matplotlibbackend.matplotlib.MatplotlibBackend at 0x7f56f1f79fd0>
11.9 不定積分的基本技巧示意:拆解與代換(簡單版)¶
實務上處理積分時,常用兩個基本想法:
線性性質:
$\displaystyle \int (af(x) + bg(x))\,dx = a\int f(x)\,dx + b\int g(x)\,dx$。
代換(u-substitution)直觀:
當 integrand 中出現某個組合 $g(x)$ 及其導數 $g'(x)$ 時, 可以嘗試令 $u = g(x)$,將積分轉換成對 $u$ 的積分。
例:$\displaystyle \int 2x(x^2+1)^3\,dx$,令 $u = x^2+1$,則 $du = 2x\,dx$。
在 SymPy 中,我們通常不需要顯式做這個代換,integrate 會自動完成:
expr = 2*x*(x**2 + 1)**3
F = sp.integrate(expr, x)
F
可以再微分一次檢查:
sp.simplify(sp.diff(F, x) - expr)
11.10 啟發性例子一:速度函數的積分給出位移¶
在物理中,如果已知速度函數 $v(t)$, 那麼在時間 $[t_1, t_2]$ 之間的位移可以寫成定積分:
$$\text{位移} = \int_{t_1}^{t_2} v(t)\,dt.$$
例:$v(t) = 3t^2$,求從 $t=0$ 到 $t=2$ 的位移。
t = sp.symbols('t', real=True)
v = 3*t**2
displacement = sp.integrate(v, (t, 0, 2))
v, displacement
結果為 $\int_0^2 3t^2 dt = [t^3]_0^2 = 8$。
你可以想像速度是「每秒增加多少距離」,把這些小距離累積起來就是位移。
11.11 啟發性例子二:總成本與邊際成本的積分¶
若 $C(q)$ 是總成本函數,則 $C'(q)$ 是邊際成本,表示在產量附近微小變化時的成本變動率。
反過來說,若已知邊際成本函數 $MC(q)$,則總成本可以藉由積分「累積」出來:
$$C(q) = C(q_0) + \int_{q_0}^{q} MC(x)\,dx.$$
例:假設邊際成本為 $MC(q) = 5 + 0.2q$,且當產量為 0 時固定成本為 1000, 求產量為 $q$ 時的總成本。
q = sp.symbols('q', real=True)
MC = 5 + 0.2*q
C_q = 1000 + sp.integrate(MC, (q, 0, q))
sp.simplify(C_q)
這說明了:
- 導數可以被解讀為「瞬間變化率」。
- 積分則可以把變化率「累積」回原本的量。
11.12 啟發性例子三:機率密度函數與面積為 1¶
在機率論中,連續型隨機變數 $X$ 常用機率密度函數(pdf) $f(x)$ 描述, 其性質之一是:
- $f(x) \ge 0$ 對所有 $x$。
- $\displaystyle \int_{-\infty}^{\infty} f(x)\,dx = 1$。
例如簡化例子,令:
$f(x) = \begin{cases} 2x, & 0 \le x \le 1 \\ 0, & 其他 \end{cases}$。
我們檢查 $\int_0^1 2x\,dx$ 是否為 1:
x = sp.symbols('x', real=True)
f = 2*x
I = sp.integrate(f, (x, 0, 1))
I
結果為 1,符合機率密度函數的要求。
某區間(例如 $[0.5, 1]$)的機率,就對應到該區間下的「面積」:
$$P(0.5 \le X \le 1) = \int_{0.5}^{1} 2x\,dx.$$
用 SymPy 計算看看:
P = sp.integrate(f, (x, 0.5, 1))
P
這個例子顯示:定積分不只代表幾何面積,也可代表「累積機率」。
11.13 本章小結¶
本章你學到了:
- 不定積分(反導數)的概念,與導數之間的對偶關係。
- 使用 SymPy 的
integrate計算常見函數的不定積分與定積分。 - 微積分基本定理:定積分可以透過原函數 $F(b)-F(a)$ 來計算。
- 如何從圖形與應用角度理解定積分:曲線下的面積、累積量。
- 積分在物理(速度→位移)、經濟(邊際成本→總成本)、 機率(密度→機率)等領域中的基本應用。
11.14 練習題¶
請在本 Notebook 中新增儲存格,試著完成以下練習:
基本不定積分
使用 SymPy 計算並簡化:
(a) $\displaystyle \int (3x^2 - 4x + 1)\,dx$
(b) $\displaystyle \int (\cos x + 2\sin x)\,dx$
(c) $\displaystyle \int (e^x + \dfrac{1}{x})\,dx$(注意 $\ln|x|$)。檢查反導數
對上一題所得的不定積分結果,使用diff對 $x$ 微分, 確認可以回到原 integrand(可能差一個常數)。簡單定積分
使用 SymPy 計算:
(a) $\displaystyle \int_0^2 x\,dx$
(b) $\displaystyle \int_0^1 (2x+1)\,dx$
(c) $\displaystyle \int_0^{\pi} \sin x\,dx$,並嘗試從圖形解釋為什麼結果為 2。利用原函數計算定積分
不使用 SymPy 的定積分功能,而是:
(a) 先用integrate(f, x)找出原函數 $F(x)$。
(b) 再手動計算 $F(b)-F(a)$。
以 $f(x) = 3x^2$,$[a,b] = [1,3]$ 為例,檢查是否得到相同的結果。應用題:速度與位移
假設某物體速度為 $v(t) = 4t + 1$,單位為 m/s。
(a) 求從 $t=0$ 到 $t=3$ 的位移(當作速度只在這段時間定義)。
(b) 若起始位置為 0,寫出位置函數 $s(t)$(可用不定積分 + 初始條件)。
(c) 檢查 $s(3) - s(0)$ 是否與定積分結果一致。應用題:邊際成本與總成本
某產品的邊際成本為 $MC(q) = 10 + 0.5q$(每增加一單位的額外成本)。
(a) 假設固定成本為 800,求總成本函數 $C(q)$。
(b) 計算生產 20 單位時的總成本。
(c) 計算從 20 單位增加到 21 單位時成本大約增加多少(可用邊際成本或直接算 $C(21)-C(20)$ 比較)。加分題:機率密度函數的驗證
令 $f(x) = \begin{cases} 3x^2, & 0 \le x \le 1 \\ 0, & 其他 \end{cases}$。
(a) 使用定積分檢查 $\int_0^1 3x^2 dx$ 是否等於 1。
(b) 計算 $P(0.5 \le X \le 1) = \int_{0.5}^1 3x^2 dx$。
(c) 嘗試解釋:為什麼「面積」可以代表機率?此模型可能對應到哪種現實情境?