數值常微分方程(IVP)

數值常微分方程(IVP) 

我們已經知道,在數值的世界裡計算往往伴隨著誤差,在數值微分方程的課題裡,我們更關注誤差如何被累積,造成完全無法信任的數值解。本章的重點在於如何用數值方法解常微分方程的起始值問題(IVP: Initial Value Problem)和邊界值問題(BVP: Boundary Value Problem)。假設自變數為 \(t\),應變數為\(x\),則起始值問題是起始時間\(t_0\) 時的 \(x(t_0)\) 狀態是給定的,我們要配合 \(x\) 的微分方程式計算任意 \(t>t_0\) 的 \(x(t)\) 值。而邊界值問題是給定起始時間 \(t_0\) 和結束時間 \(t_f\) 的狀態 \(x(t_0)\) 和 \(x(t_f)\) 要計算 \(t \in[t_0,t_f]\) 時的 \(x(t)\)。

解數值常微分方程並不企圖把 \(x(t)\) 的顯式給算出來,至少現在的人工智慧還無法作到。數值解的目標是求特定格點 \(t_i\) 所對應的 \(x(t_i)\) 簡稱 \(x_i\)。希望數值解的 \(x_i\) 與真實解的誤差越小越好。試想當我們拿到一個微分方程式時,我們有多少工具可以給電腦使用?除了微分方程式之外,還有邊界值(或起始值),再加上格點 \(t_i\)。格點 \(t_i\) 配合微分方程式,我們可以得到某些格點所對應的\(x'(t_i)\) 或是 \(x''(t_i)\) 值。這些就是我們可以用的素材。很容易想像,從某一點 \(t_{i1}\) 的 \(x'\) 值要推估鄰近的 \(x(t_{i1}+h)\) 的值,泰勒展開式一定是一個必要的工具。