微分方程
常微分方程的 python 程式
from sympy import Function, dsolve, Eq, Derivative, sin, cos, symbols
from sympy.abc import x
f = Function('f')
sol = dsolve(Derivative(f(x), x, x) + 9*f(x), f(x))
print('dsolve(Derivative(f(x), x, x) + 9*f(x), f(x))=', sol.doit())
執行
$ python diffeq1.py
dsolve(Derivative(f(x), x, x) + 9*f(x), f(x))= Eq(f(x), C1*sin(3*x) + C2*cos(3*x))
數學原理
以下函數為微分與積分運算的不動點
f(x) = e^x
因為
微分形式 : $f'(e^x) = e^x
$
積分形式 : $\int e^x dx = e^x + C
$
所以可知
f'(x) = e^x \\
f''(x) = e^x \\
...\\
f^n(x) = e^x \\
意思就是 $y=e^x
$ 是下列微分方程式的解答:
y'=e^x \\
y''=e^x \\
...\\
y^n(x) = e^x \\
而且也是下列微分方程式的解答:
y'=y \\
y''= y \\
...\\
y^n(x) = y^m(x) \\
而且解答不是一個,而是一整群!
因為 $y=c e^x
$ (對於任何 c 而言),通通都是上述微分方程的解答!
二階微分方程
對於二階常係數齊次常微分方程,常用方法是求出其特征方程的解
對於方程:$y''+py'+qy=0
$
其特征方程:$r^2+pr+q=0
$
還記得中學的二次多項式公式嗎?
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
把 x 換成 r, a 換成 1, b 換成 p, c 換成 q 則可得:
r = \frac{-p \pm \sqrt{p^2 - 4q}}{2}
若分成兩個根的寫法,會變成:
r1 = \frac{-p + \sqrt{p^2 - 4q}}{2} \\
r2 = \frac{-p - \sqrt{p^2 - 4q}}{2} \\
於是根據上述的 r 算式,可以分為三種情形:
1 - 在 $p^2 - 4q > 0
$ 的情況下有兩相異實根
微分方程的解為 $
y=C_1 e^{r_1 x}+C_2 e^{r_2 x}
$
2 - 在 $p^2 - 4q < 0
$ 的情況下有兩相異虛根 (複數根)
微分方程的解為: $
y=e^{\alpha x} (C_1 \cos (\beta x) + C_2 \sin (\beta x))
$
3 - 在$p^2 - 4q = 0
$ 的情況下,有兩相同實根 ($r1 = r2
$)
微分方程的解為: $
y=(C_1+C_2 x) e^{r x}
$
虛根的情形和尤拉公式有密切關係
e^{ix} = \cos x + i\sin x
若用 $e^{{ix}}
$ 表示 cos 與 sin ,可用下列方式處理:
\sin x={\frac {e^{{ix}}-e^{{-ix}}}{2i}}; \cos x={\frac {e^{{ix}}+e^{{-ix}}}{2}}
非《常係數齊次》的情況 (可能有非 $e^{cx}
$ 類型的解)
對於下列微分方程
y'=nx^{n-1}
其解答為 $y=x^n
$
非《常係數》但齊次
柯西-歐拉方程是形式如 $x^{2}y''+bxy'+cy=0
$ (其中 ${\displaystyle b,c}
$ b,c是常數)的二階常微分方程。
勒壤得函數指以下勒壤得微分方程式的解:
(1 - x^2 )\frac{{d^2 P(x)}}{{dx^2 }} - 2x\frac{{dP(x)}}{{dx}} + n(n + 1)P(x) = 0.
貝索函數(Bessel functions),是數學上的一類特殊函數的總稱。通常單說的貝索函數指第一類貝索函數(Bessel function of the first kind)。一般貝索函數是下列常微分方程式(一般稱為貝塞爾方程式)的標準解函數 :
x^{2}{\frac {d^{2}y}{dx^{2}}}+x{\frac {dy}{dx}}+(x^{2}-\alpha ^{2})y=0
希爾微分方程或是希爾方程是指以下的二階常微分方程
{\displaystyle {\frac {d^{2}y}{dt^{2}}}+f(t)y=0,}
其中f(t)為週期函數[1]
希爾微分方程得名自1886年發現此方程的天文學家喬治·希爾[2]
一般會假設f(t)的週期為π,則希爾方程可以改寫為f(t)的傅立葉級數:
{\displaystyle {\frac {d^{2}y}{dt^{2}}}+\left(\theta _{0}+2\sum _{n=1}^{\infty }\theta _{n}\cos(2nt)+\sum _{m=1}^{\infty }\phi _{m}\sin(2mt)\right)y=0.}
希爾方程中特殊的例子有馬丟方程(只對應n = 0, 1的情形)以及Meissner方程。
微分方程的數值解法
對於形式如下的微分方程
y'=f(x,y) \;\;;\;\; y(x_0) = y_0
我們可以用下列《畢卡德疊代法》求解:
y(t)-y(t_{0})=\int _{{t_{0}}}^{t}f(s,y(s))\,ds.
或者用《龍格庫塔法》求解:
牛頓力學微分方程
牛頓曾經在《流數法》(Method of Fluxions),這本微積分創始書籍裏列出下列微分方程
{\displaystyle {\begin{aligned}&{\frac {dy}{dx}}=f(x)\\[5pt]&{\frac {dy}{dx}}=f(x,y)\\[5pt]&x_{1}{\frac {\partial y}{\partial x_{1}}}+x_{2}{\frac {\partial y}{\partial x_{2}}}=y\end{aligned}}}
這也是牛頓發展出微積分的原因