(4) 變分入門 ─ 近似方法求邊界問題
初始問題(Initial Value Problem)
我們以往最開始也最常要解的問題,是已知一個粒子的運動定律(F=ma),且已知起始速度和起始位置,要求出接下來物體的軌跡,這樣的問題就稱為初始問題。
數學上表示就是給出這兩個條件:
\[\vec{r}(t=0), \quad \frac{d\vec{r}}{dt} \bigg|_{t=0}{}\]在已知運動定律為
\[m\frac{d^2 \vec{r}}{dt^2} = -\frac{\partial V(\vec{r})}{\partial \vec{r}}\]求
\[\vec{r}(t)\]解法
初始問題是完全可以解的,可以透過初始t=0,初始r已知,透過運動定律知道加速度,推導出下一次速度,進而求r在下一次的軌跡。
邊界問題(Boundary Value Problem)
然而,有時候我們只有知道初始位置和時間T的最後位置,想知道中間的軌跡是怎麼跑的。這樣的問題就稱為邊界問題。
數學上表示就是給出這兩個條件:
\[\vec{r}(t=0), \quad \vec{r}(t=T)\]在已知運動定律為
\[m\frac{d^2 \vec{r}}{dt^2} = -\frac{\partial V(\vec{r})}{\partial \vec{r}}\]求
\[\vec{r}(t)\]解法
這樣的問題相對難解,因為不曉得起始速度,所以只能猜一個,若算到最後不對了再重來。但這當然不是好辦法,這時候就可以引入變分的概念啦!
接下來我們用變分的方式來解決這個邊界問題。
數學技巧補充 ─ 傅立葉級數
但是在進一步解之前,我們需要先提一個數學的小trick。
首先我們看一個簡單的例子:重力場上拋運動,並定在時刻T的時候要跑到H。
所以邊界條件為:
\[x(0) = 0,\quad x(T) = H\]軌跡需要滿足運動方程:
\[\frac{d^2x}{dt^2} = -g\]那怎麼開始求呢?
當然這個例子很簡單,所以我們可以簡單求得exact solution $$ x(t) = {V_0}t-\frac{g}{2}t^2 $$ 並從邊界條件知道 $$ H={V_0}T-\frac{g}{2}T^2 $$ 所以將初始速度 $$ {V_0}=\frac{H+\frac{g}{2}T^2}{T} $$ 代回去軌跡公式還可改寫成 $$ \begin{align*} x(t) &= \frac{H+\frac{g}{2}T^2}{T}t-\frac{g}{2}t^2\\ &=\frac{H}{T}t+\frac{g}{2}Tt-\frac{g}{2}t^2\\ &=\frac{H}{T}t-\frac{g}{2}t(t-T) \end{align*} $$
但實際上很多時候碰到的問題沒那個簡單,所以我們可以採取近似手法,並先將解拆分成「線性」和「修正項」:
\[\begin{align*} {x}(t)&\equiv {x}_{l}(t)+{R}(t)\\ &\equiv ({x}_{0}+\frac{x_{f}-{x}_{0}}{T}t) + {R}(t)\\ &\approx\frac{H}{T}t+\sum_{j}^{N}{C_j}{\sin\frac{2\pi jt}{T}}\\ &\equiv x_N(t) \end{align*}\]這邊要注意兩點:
-
選擇的基底
修正項我們可以選擇一組基底來展開,可以選擇泰勒展開(以這題來說是正解,參考上述Note),但更多時候,我們對於解的真正型態都是不確定的。但傅立葉級數在數學上有很好的優點,只要取無窮多項並且是對的係數,任何函數都能透過傅立葉級數展開為無窮多項的和,關鍵點就在於係數。所以這題我們選用傅立葉級數為基底
\[{\phi_j}(t) = \sin\frac{2\pi jt}{T}\] -
取有限項
在計算的時候,我們當然不可能真的取到無窮多項,只能取有限的N項。所以若把這個近似方法代回運動方程,是不可能會滿足的,意即
\[-\frac{d^2x_N}{dt^2}-g \neq 0\]
傅立葉級數求係數
稍微回顧一下,假設有一個函數
\[f(t)=\sum_{j}^{\infty}{Y_j}{\sin\frac{2\pi jt}{T}}\]將函數乘上一個基底求係數(利用基底互相正交性質)
\[\begin{align*} \int_{0}^{T}{\sin\frac{2\pi kt}{T}}f(t) \,dt &= \int_{0}^{T}\sum_{j}^{\infty}{Y_j}{\sin\frac{2\pi jt}{T}}{\sin\frac{2\pi kt}{T}}dt\\ &= {Y_k}\int_{0}^{T}\sin^2 \frac{2\pi kt}{T}dt \\ &= {Y_k}\cdot\frac{T}{2} \end{align*}\]如何表示函數 = 0
若我們希望
\[f(t) = 0\]一個方式就是展開之後的所有係數都是0,加上我們取有限項,那或許馬馬虎虎101次,101個係數都是0的話,就可以視$f(t)\approx0$。
\[Y_1 = Y_2 = Y_3 = \cdots = Y_N = 0\rightarrow f(t) \approx 0\]回到例子
\[x_N(t)=\frac{H}{T}t+\sum_{j}^{N}{C_j}{\sin\frac{2\pi jt}{T}}\]我們這次要等於零的函數是
\[\begin{align*} f(t)&=\sum_{j}^{N}{Y_j}{\sin\frac{2\pi jt}{T}}\\ &=-\frac{d^2x_N}{dt^2}-g\\ &\approx 0 \end{align*}\]代表希望盡可能滿足原始運動方程,以接近最真實的軌跡,
所以最終目標就是在原始問題上,能在「修正項」選擇一組對的
\[C_1, C_2, C_3 \cdots C_N\]使得
\[\begin{gather*} \int_{0}^{T}\phi_{1}(t)\left(-\frac{d^2x_N}{dt^2}-g\right)\,dt = 0 \\ \int_{0}^{T}\phi_{2}(t)\left(-\frac{d^2x_N}{dt^2}-g\right)\,dt = 0 \\ \vdots\\ \int_{0}^{T}\phi_{N}(t)\left(-\frac{d^2x_N}{dt^2}-g\right)\,dt = 0\end{gather*}\]以得
\[-\frac{d^2x_N}{dt^2}-g\approx 0\]