工程數學筆記 - 所以說解了一堆方程式,這到底在幹麻?
===
> 所謂的科學就是猜猜看,猜對了就名流千史。
> by 俺的某位老師
這大概是我國中時候的理化老師說過得一句話,
當時就覺得這句話很生動,但是隨著在理工領域打滾;學習的理論越來越多,
就越覺得這句話豈止生動,簡直點出了學術界運作的本質之一。[^猜]
科學方法不外乎觀察、建立假設、實驗、驗證假設[^modeling1][^modeling2],唸了這麼多年的理組,這流程也都朗朗上口了呢!

好吧,或許你聽過其他版本,不過其實大同小異對吧?
數學終究是人類發明出來的工具,最終還是要服務於人類,
在進階工程數學的學科中,解微分方程的單元通常只著重在特定幾種形式的微分方程式的解析解過程。
```mermaid
graph TD
subgraph 真實世界
observe[觀察]
ask[提出問題]
experiment{"驗證假設(實驗)"}
end
subgraph 數學空間
formulate["數學建模(建立公式)"]
solution["分析、求解(解析解、數值解)"]
end
subgraph 模型空間
modeling["提出假設(建構模型)"]
end
observe --> ask
ask --> modeling
modeling --> formulate
formulate --> solution
solution --> experiment
experiment -->|驗證失敗| modeling
style solution fill:lightblue,stroke:#333,stroke-width:2px;
```
因為「解微分方程」這個步驟已經是獲得數學模型之後為了獲得解析解而進行的步驟,它的目的性其實十分明確,因此計算過程其實會給人一條筋的感覺。
舉例來說:計算過程會假設某個函數,不禁令人納悶「為什麼要帶入這個形式的函數?其他形式不行嗎?」,這個時候其實就要回歸解題過程的本質「為了服務於問題」,即便解可能存在很多個,但是只要符合我們給予的條件(數學模型),那對我們而言這個解就能用了。
而且解題過程其實脫離不了「猜」的套路,在數學空間中的「實驗」就是把某個你假設的函數丟到命題的模型中,如果這個函數吻合模型/條件,那實驗就是 pass 了,至於能不能通過真實世界的實驗又是另外一回事了。(ゝ∀・)
建模 (modeling)
---
觀察、提出問題、建構模型、建構公式、求解,聽起來好像懂了,可是具體要做些什麼呢?接下來我們舉幾個例子跑一遍流程應該就會明白了。
### 自由落體(無微積分版本)[^Q1]

#### 觀察
我現在站在樓頂,撿起一個石子朝水平方向丟出去,我們發現石子會往下掉。
#### 提出問題
我要如何用石子丟中距離我___公尺的小明?
#### 建構模型
- 根據自由落體定律:自由落體的加速度相同。小石子垂直方向應該有一個加速度。
- 根據牛頓第一定律:假若施加於某物體的外力為零,則該物體的運動速度不變。小石子的水平方向應該沒有加速度。
- 小石子垂直掉落到地面的時間應該要等於小石子水平移動到達小明位置的時間相同,這樣才能砸中小明。
#### 建構公式
先定義各種變量的數學符號:
- 樓高為 $h$
- 與小明的水平距離為 $r$
- 令小石子的水平速度為 $v_x$
- 令小石子的垂直速度為 $v_y$
- 令重力加速度為 $g$
- 令飛行時間為 $t$
- 令投擲時的水平與垂直初速度分別為 $v_{0x}$ , $v_{0y}$
- 令小石子的位置為 $x$ , $y$
再根據模型的描述建構公式再將將這些代數置入其中:
1. $r = x = v_{0x}t$
2. $h = y = v_{0y}t - \frac12 gt^2$
#### 求解
從公式 1 可以整理成:
$t = \frac{r}{v_{0x}}$
因為水平移動的時間與垂直移動的時間相等,因此公式1和公式2的t是相等的,因此代入得:
$$
h = v_{0y} \frac{r}{v_{0x}} - \frac12 g (\frac{r}{v_{0x}})^2
$$
於是乎這個就是我們的解析解了,$h,r,g$ 都是常數,
只要確保投出小石子時的初始速度 ($v_{0x},v_{0y}$) 符合這個公式,
理論上就能砸中小明了(?)
### 自由落體(微積分版本)
~~喔喔喔!是微積分!我好興奮啊~!~~
接下來的例子幾乎都是微分方程,其實大一修的微積分都是為了這一刻在鋪陳呢(?
不過解微分方程的思路和國中、高職代數的解法相比,順序上是有點不同的,
第一次接觸的朋友難免會有點不習慣,因此接下來會多舉幾個解微分方程的例子,
讓各位適應適應。
#### 觀察
我站在高樓的陽台上,手拿著漢堡望著夜景,沈醉之餘手一鬆,漢堡往下掉落。
#### 提出問題
漢堡多久後會掉落地面?
#### 建構模型
- 漢堡呈自由落體,因此它的加速度應該為重力加速度
- 鬆手的瞬間,漢堡速度為零
- 鬆手的瞬間,漢堡的高度在高樓的陽台上
#### 建構公式
同樣先設定變數符號:
- 漢堡實際的位置(高度)為 $y$
- 鬆手的瞬間,漢堡與地面的距離為 $h$
接著設定公式:
- $y''=\frac{d^2}{dt^2}y = -g$
- $y(0) = h$
- $y'(0)=0$
#### 求解
廢話不多說,對 $y''=-g$ 不定積分求解:
$$
y(t) = -\frac12 g t^2 + c_1 t + c_2
$$
接著我們把我們的條件 $y(0) = h$,$y'(0)=0$ 丟進去求$c_1,c_2$,會得到:
$$
y(t) = -\frac12 g t^2 + h
$$
接著只要把 y 帶入 0(漢堡到達地面時高度為 0),
然後解 t 的一元二次方程式就可以知道漢堡過了多久到達地面了。
話說回來,根據我們對物理運動的理解,
$t$ 的二次項是在描述由加速貢獻的位移量,
$t$ 的一次項是在描述由初速度貢獻的位移量,
$t$ 的零次項是初始的位置,因此這個公式其實應該是:
$$
y(t) = -\frac12 g t^2 + v_0 t + y_0
$$
#### 蛤?剛剛發生什麼事了?
不同於國中、高職代數的意義是先明確定義的,之後才建立公式;
解微分方程會自然產生未知意義的代數,必須事後再透過初始條件來猜測其物理意義,這就是我方才提到解微分方程的思路和國中、高職解代數的差異。
以剛才的題目為例,
$y'' = -g$ ← 這東西就叫做微分方程式 (O.D.E.)
$y(0) = h$ , $y'(0)=0$ ← 這些條件叫做初始值條件 (initial condition)
$y= -\frac12 g t^2 + c_1 t + c_2$ ←這個有任意常數的公式叫做通解 (general solution)
$y = -\frac12 g t^2 + h$ ← 這個任意常數透過條件解出來的公式叫做特解 (particular solution)
### 半衰

凡舉同位素衰減、化學反應、電容放電、輻射穿透衰減...,
幾乎都不難看到這樣的圖形,而且通常伴隨著背到快爛掉的 $y=e^{-kx}$ 公式,我們就來看看這東西是怎麼導出來的吧!
#### 觀察

當我們把電容充飽電之後,一邊測量測量電容的電壓一邊切換開關,
發現電壓值會越來越小。
#### 提出問題
經過多久之後電壓會從 5V 掉到 1V ?
#### 建構模型
- 電壓變少的程度與當時電壓值成正比
- 初始電壓為 5 伏特
- 一秒鐘之後電壓為 4.5 伏特
#### 建構公式
- 電壓值與時間的關係為 $V(t)$
- 切換開關前的電壓值為 $V_0$
- $V(0) = V_0 = 5$
- $V(1) = 4.5$
因為 $\frac{dV}{dt}\propto V$ ,所以也可以寫作 $\frac{dV}{dt} = kV$
#### 求解
$V'=kV$ 經過整理可以寫成: $\frac1{V} dV = k dt$
經過不定積分可以得到: $\ln V = kt + c$
用自然指數整理: $V = e^{kt+c} =e^{kt}e^{c}$
把任意常數經過整理之後:
$$
V = Ce^{kt} |_{ C = e^{c}}
$$
接著試著代入條件:
$V(0) = 5 = Ce^{k0}$ ,發現 $C=5$,
$V(1) = 4.5 = 5e^{k1}$ , 發現 $k=\ln0.9 = -0.11$
因此這就是我們的解了:
$$
V(t) = 1 = 5e^{-0.11t}
$$
### 人口增長
人口增長其實是個有趣的議題,稍後我會提到 Thomas Robert Malthus 和 John Calhoun 兩個關於人口的理論,兩者給出的結論其實都蠻悲觀的。 (つд⊂)
不過在那之前先讓我們看看數學上的簡單人口增長模型吧!
#### 觀察
1 隻細菌會變成 2 隻、 2 隻變 4 隻、 4 隻變 8 隻...
我們**猜**...人口也是指數增長的?
#### 提出問題
人口與時間的關係?
#### 建構模型
- 人口成長的速率和人口本身成正比
聽起來很合理,畢竟人口基數高,能夠生育的人也就越多。
#### 建構公式
- 人口與時間的關係寫作 $P(t)$
- $\frac{dP}{dt}\propto P$
因為 $\frac{dP}{dt}\propto P$ ,所以也可以寫作 $\frac{dP}{dt} = kP$
#### 求解
計算過程和衰減類似,就不多做解釋了:
$\frac{dP}{dt} = kP$
$\frac1{P} dP = k dt$
$\ln P = kt + c$
$P(t) = Ce^{kt}$
令 $t=0$ 時會發現 $C = P(0)$,於是這個公式變可以用於描述人口增長:
$$
P(t) = P_0e^{kt}
$$
...但是真的是這樣嗎?
驗證假設
---
我們在前面獲得了簡單人口增長的函數:
$$
P(t) = P_0e^{kt}
$$
接著我們就以人口增長的主題來看看這個解析解究竟能套用在現實世界到什麼程度。
### 馬爾薩斯人口論
Thomas Robert Malthus 在 18 世紀末出版了一本名叫人口原理 (An Essay on the Principle of Population) 的書籍,當中的基本思想為[^人口論]:
- 如沒有限制,人口是等比(即指數:2,4,8,16,32,64,128等)增長。
- 而食物供應呈現等差(即:1,2,3,4,5,6,7等)增長。
- 食物為人類生存的最重要之條件。
- 只有自然原因(事故和衰老),災難(戰爭,瘟疫,及各類饑荒),道德限制和罪惡(馬爾薩斯所指包括殺嬰,謀殺,節育和同性戀)能夠限制人口的過度增長。
並且他的結論顯得十分悲觀:
> 因為食物供給永遠趕不上人口成長,因此飢餓餓、貧窮將永遠存在無法被消除
因此他所描繪的人口與食物供給的曲線應該會像這樣[^population_curve]:

當人口數量觸及食物供應的極限就會發生災難迫使人口減少,如此週而復始。
### John Calhoun's experiment
說人名或許大家沒什麼反應,不過提到「老鼠烏托邦實驗」 (Mouse Utopia Experiment) 我想大家應該是略有耳聞了吧?

在1960 年代,一個來自美國的生態學、動物行為學家約翰卡爾宏(John B. Calhoun) 進行了一項超黑暗的實驗,它把 4 對老鼠放在只能容納 3000 隻的大型容器裡,並提供無限量的水、食物,也沒有天敵或氣候變遷的影響,這對老鼠們根本就是天堂!這項實驗叫做── 老鼠烏托邦(Mice Utopia Experiment) ,而這項實驗的目的在於探測萬一在只有空間的限制下,群體數量不斷增高,會對實驗對象展生什麼樣的影響[^老鼠烏托邦]。
論文中附有一個描述老鼠的族群數量的圖表[^mice_paper]:

注意 y 軸是指數尺度的,可以看到在 Pase B 中,老鼠的族群數量是符合簡單人口函數預測的,
不過之後族群數量的成長率漸漸下降,然後面臨負成長,最後整個族群崩潰,
因為重點還是在討論族群數量上,過程中究竟發生什麼事就不贅述了,
有興趣的朋友可以自行閱讀[原始論文](http://www.physicsoflife.pl/dict/pic/calhoun/calhoun's-experiment.pdf)或一些網路上的[資料](http://www.physicsoflife.pl/dict/calhoun%27s_experiment.html)。
### 所以...事實是什麼?
我們可以看到 Thomas Robert Malthus 的理論和 John Calhoun 的實驗皆部份吻合簡單人口成長函數,
這是因為在我們簡單人口模型中,並未考慮食物和空間...等等其他變因;僅僅考慮物種的繁殖能力。
話說回來 Thomas Robert Malthus 究竟有說對嗎?以全球尺度來說,沒有。
全球人口並沒有以指數成長,甚至不是算術成長的(等差);
並且他也沒有預測到工業與科技的進步,造成食物供給的增長甚至高於算術成長[^population_1]。
不過他的理論(馬爾薩斯陷阱)仍然能夠適用於教育、避孕、工業與科技...,仍相對落後的開發中國家[^population_2],並且對後世的政治和經濟學領域皆有深厚的影響。
對於我們導出解,可以說它是部份正確的,至少它確實部份預測了老鼠的族群數量,而且仍能適用人因干涉微弱、人口成長仍主導於繁殖能力的社會之中,會在文末安插這樣的內容,是因為往後的計算都將止於數學領域,形上的與現實脫節,不過仍要提醒各位數學終究是工具,不要忘記它終要服務於的對象:現實世界。
三個傻瓜 (3 Idiots) 有一段話說得很好,它點出了理工學子會面對的問題,也是許多人在學習工程數學後會陷入的窘境:


### 本文連結

[^猜]: 我们的科学研究是靠猜的吗?. (n.d.). Retrieved 2019-11-05, from https://www.zhihu.com/question/48475878
[^modeling1]: Computational Toxicology: Volume I, Chapter 4 Best Practices in Mathematical Modeling. (Brad Reisfeld, Arthur N. Mayeno). Retrieved 2019-11-05, from https://www.researchgate.net/figure/The-Modeling-Process-This-diagram-shows-the-five-steps-of-the-modeling-process-with_fig3_240246766
[^modeling2]: Mathematics Instruction Based on Science Using Didactical Phenomenology Approach in Junior Secondary School in Indonesia. (Turmudi Turmudi, Suprih Widodo). Retrieved 2019-11-05, from https://www.researchgate.net/figure/Diagram-of-mathematical-modeling-process_fig4_320422692
[^Q1]: 高中數學建模課程與實踐之研究,第一章 數學建模概論. (林國源, Kuo-Yuan Lin, 黃大原, Tayuan Huang). Retrieved 2019-11-05, from https://ir.nctu.edu.tw/bitstream/11536/77889/6/351106.pdf
[^人口論]: 人口論. (n.d.). Retrieved 2019-11-05, from https://zh.wikipedia.org/wiki/人口論
[^population_curve]: T. Robert Malthus's Principle of Population Explained. (n.d.). Retrieved 2019-11-05, from http://www.faculty.rsu.edu/users/f/felwell/www/Theorists/Essays/Malthus1.htm
[^老鼠烏托邦]:【閒聊】實驗-老鼠烏托邦 @世界之不可思議 哈啦板 - 巴哈姆特. (n.d.). Retrieved 2019-11-05, from https://forum.gamer.com.tw/Co.php?bsn=60433&sn=626175
[^mice_paper]:Death Squared : The Explosive Growth and Demise of a Mouse Population. (John Calhoun). Retrieved 2019-11-05, from http://www.physicsoflife.pl/dict/pic/calhoun/calhoun's-experiment.pdf
[^population_1]: resource economics - Is Malthusian theory of population growth being realized? - Economics Stack Exchange. (n.d.). Retrieved 2019-11-05, from https://economics.stackexchange.com/questions/8635
[^population_2]:馬爾薩斯與有效需求說. (賴建誠). Retrieved 2019-11-05, from http://blog.ylib.com/lai/Archives/2009/12/30/13204
###### tags: `learning note` `工程數學` `2019-10-03`