这节课涉及到怎么求解微分方程,怎么求解一阶常系数微分方程。上一节课是离散情况,这节课我们计算连续情况。
微分方程组的解
从例子讲起
已知两个微分方程
\[\frac{\text{du}_1}{\text{dt}}=-u_1+2 u_2\\ \frac{\text{du}_2}{\text{dt}}=u_1-2 u_2 \]
已知 \(U(t)=\left( \begin{array}{c} u_1(t) \\ u_2(t) \\ \end{array} \right)\),\(U_0=\left( \begin{array}{c} u_1(0) \\ u_2(0) \\ \end{array} \right)=\left( \begin{array}{c} 1 \\ 0 \\ \end{array} \right)\)
根据两个方程等式右边写出系数矩阵:
\[A=\left( \begin{array}{cc} -1 & 2 \\ 1 & -2 \\ \end{array} \right) \]
很明显,矩阵 \(A\) 的行列式为0,所以她是个奇异矩阵。
计算特征方程
\[det(A-\lambda I)=0 \]
可得
\[\lambda_1=0,\lambda_2=-3 \]
将两个特征值分别代入
\[(A-\lambda I)x=0 \]
可得
\[x_1=\left( \begin{array}{c} 2 \\ 1 \\ \end{array} \right),x_2=\left( \begin{array}{c} 1 \\ -1 \\ \end{array} \right) \]
微分方程的解为
\[U(t)=c_1 e^{\lambda _1 t}x_1+c_2 e^{\lambda _2 t}x_2 \]
\(e^{\lambda _1 t}x_1\) 和 \(e^{\lambda _2 t}x_2\) 是方程组的两个特解。
两个解的纯指数形式是上次讲的纯幂形式在微分方程中的类似体。
在差分方程中 \(u_{k+1}=Au_k\), 有
\[u_k=c_1\lambda_1^k x_1+c_2\lambda_2^k x_2+...+c_n\lambda_n^k x_n \]
这里我们关心的是指数形式。
计算 \(c_1、c_2\) ,将 \(\lambda\) 和 \(x\) 代入,可得
\[U(t)=c_2 e^{-3 t}.\left( \begin{array}{c} 1 \\ -1 \\ \end{array} \right)+c_1.\left( \begin{array}{c} 2 \\ 1 \\ \end{array} \right) \]
已知初值 \(U_0\) ,可得
\[c_1=c_2=\frac{1}{3} \]
故,最后得到通解:
\[U(t)=\frac{1}{3} \left( \begin{array}{c} 2 \\ 1 \\ \end{array} \right)+\frac{1}{3} e^{-3 t} \left( \begin{array}{c} 1 \\ -1 \\ \end{array} \right) \]
当 \(t \rightarrow ∞,\frac{1}{3} e^{-3 t} \left( \begin{array}{c} 1 \\ -1 \\ \end{array} \right) \rightarrow 0\) ,\(U(t)\) 是稳定状态
\[U(∞) \rightarrow \frac{1}{3} \left( \begin{array}{c} 2 \\ 1 \\ \end{array} \right) \]
收敛性
什么时候微分方程的解才能到达稳态?
- 当\(\lambda\) 实部小于零,即 $ Re (\lambda)<0 $ \(e^{\lambda t} \rightarrow 0\) , \(U(t) \rightarrow 0\) ,\(U(t)\) 具有稳定性。
如果特征值是复数,假如 \(\lambda=-3+6i\) .
\[|e^{(-3+6 i) t}|=e^{-3 t} \]
取模后只有实部作用,因为根据欧拉公式
\[|e^{6it}|=cos(6t)+isin(6t)=1 \]
她在单位圆内旋转。
所以只有实数部分是起作 用的。
- 当 \(\lambda_1=0\) ,并且其余的 \(Re\lambda<0\) ,\(U(t)\) 处于稳定状态。
- 当任意 \(Re\lambda>0\) 时,解无法收敛。
以 \(2*2\) 矩阵为例
已知微分方程组中系数矩阵
\[A=\left( \begin{array}{cc} a & b \\ c & d \\ \end{array} \right) \]
对于稳定性,我们要知道她的两个特征值实部是否都是小于零。
\[Re \lambda_1<0,Re \lambda_2<0, \]
问题是,不计算,是否可以直接从矩阵判断呢?
\(A\) 的迹是 \(a+d\) ,如果两个特征值都小于零,则
\[a+d<0 \]
并且满足
\[detA>0 \]
从这两个条件就能看出是否稳定。
她是简便而且实用的,因为二阶系统稳定性是我们最关心的,在实际中遇到的最多。
解耦(对角化)
原方程组有两个相互耦合的未知函数,矩阵 \(A\) 也表明 \(u_1、u_2\) 互相耦合。
特征值和特征向量的作用是解耦,又称为对角化,我们可以把方程的解表示为 \(S\) 和 \(\Lambda\) 的形式。
回到原来的微分方程组,矩阵 \(A\) 的对角元素都不等于零
\[\frac{\text{du}}{\text{dt}}=\text{Au} \]
通过特征向量矩阵 \(S\) 解耦 \(u\) 。令
\[u=Sv \]
把 \(u\) 表示为特征向量(基)的线性组合。
将 \(u\) 代入方程中,\(S\) 是常数阵,可以提取出来,得
\[S\frac{\text{dv}}{\text{dt}}=\text{ASv} \]
两边乘以 \(S^{-1}\)
\[S^{-1}S\frac{\text{dv}}{\text{dt}}=S^{-1}\text{ASv} \]
化简
\[\frac{\text{dv}}{\text{dt}}=\Lambda \text{v} \]
\(\Lambda\) 为特征值矩阵。这里得到关于 \(v\) 得对角化方程组。
新方程组不存在耦合,\(\frac{dv_1}{\text{dt}}=\Lambda v_1,\frac{dv_2}{\text{dt}}=\Lambda v_2\) ......这是各未知数之间没有联系得方程组。
她们的解是
\[v(t)=e^{\Lambda t} v(0)\\ u(t)=Se^{\Lambda t}S^{-1} u(0)=e^{A t}u(0) \]
其中,\(e^{A t}\) 称为矩阵指数。
矩阵指数
回顾泰勒展开式的两个公式
\[e^{x}=\sum _{n=0}^{\infty } \frac{x^n}{n!}\\ \frac{1}{1-x}=\sum _{n=0}^{\infty } x^n \]
第二个式子被称为几何级数。
这些公式对矩阵同样适用,就像普通的函数一样,类似的,有
\[e^{A t}=I+At+\frac{\text{(At)}^2}{2}+\frac{\text{(At)}^3}{6}+...++\frac{\text{(At)}^n}{n!}\\ (I-At)^{-1}=I+At+(At)^2+(At)^3+...+(At)^n \]
第一个式子就是 \(e^{A t}\) 的定义式子。
通过展开式,我们可以看出 \(e^{A t}\) 每一项分母越来越大,因此无论 \(A、t\) 是多少,她的通项总是收敛于0,级数最终最终收敛于某值。
但 \((I-At)^{-1}\) 不一定是收敛的。假如 \(A\) 的 \(\lambda>0\) ,则 \(A^n\) ,\(\lambda^n\) 。 级数不收敛。只有 \(\lambda<0\) ,级数收敛,根据要求可以让级数约等于前面几项。
证明
证明 \(Se^{\Lambda t}S^{-1} =e^{A t}\)
\[\begin{align} e^{A t}&=I+At+\frac{\text{(At)}^2}{2}+\frac{\text{(At)}^3}{6}+...++\frac{\text{(At)}^n}{n!}\\ &=SS^{-1}+S\Lambda S^{-1} t+\frac{S\Lambda^2 S^{-1}}{6}t^2+...++\frac{S\Lambda^n S^{-1}}{n!}t^n\\ &=Se^{\Lambda t} S^{-1} \end{align} \]
前提条件是有 \(n\) 个特征向量,\(S\) 可逆,矩阵 \(A\) 才能对角化。
其中
\[\Lambda =\left( \begin{array}{cccc} \lambda _1 & 0 & ... & 0 \\ 0 & \lambda _2 & ... & 0 \\ ... & ... & ... & ... \\ 0 & 0 & ... & \lambda _n \\ \end{array} \right) \]
矩阵指数 \(e^{\Lambda t}\) 表达式为
\[e^{\Lambda t} =\left( \begin{array}{cccc} e^{\lambda_1 t} & 0 & ... & 0 \\ 0 & e^{\lambda_2 t} & ... & 0 \\ ... & ... & ... & ... \\ 0 & 0 & ... & e^{\lambda_n t} \\ \end{array} \right) \]
全部特征值小于0时,\(e^{\Lambda t}\) 的对角线上全部元素收敛于0。
我们可以在复平面上表示出来:

- 全部特征值小于0情况,就是当特征值位于左半平面时,可以使得微分方程存在稳定的解。
- 当特征值绝对值 \(|\lambda|<1\) 时,即在单位元内,矩阵的幂收敛于0
高阶微分方程的求解
如何求解 \(y''+by'+ky=0\) ?
想象斐波那契数列的思路
令
\[u=\left( \begin{array}{c} y' \\ y \\ \end{array} \right) \]
增加一个方程
\[y'=y' \]
把向量 \(u\) 作为方程的未知数,原方程化为 \(u\) 的一阶微分方程。
\[\begin{align} u’&=\left( \begin{array}{c} y'' \\ y' \\ \end{array} \right)\\ &=Au\\ &=\left( \begin{array}{cc} -b & -k \\ 1 & 0 \\ \end{array} \right).\left( \begin{array}{c} y' \\ y \\ \end{array} \right) \end{align} \]
一个二阶微分方程变换为一个一阶方程,可以得到一个 \(2*2\) 矩阵 \(A\).
类似的,对于一个5阶微分方程,可以得到一个 \(5*5\) 矩阵,这个方程使得5阶转换为一阶,然后我们就可以计算特征值和特征向量。