线性代数之——微分方程和 exp(At)

版权声明:本文为博主原创文章,未经博主允许不得转载 ! https://blog.csdn.net/seniusen/article/details/84618855

本节的核心是将常系数微分方程转化为线性代数问题。

dudt=λuu(t)=Ceλt\frac{du}{dt}=\lambda u \quad 的解为 \quad u(t) = Ce^{\lambda t}

代入 t=0t=0,可得 u(0)=Cu(0) = C,因此有 u(t)=u(0)eλtu(t) = u(0)e^{\lambda t}。这是只有一个变量的情况,在线性代数里,我们扩展到 nn 个方程的情况。

dudt=Auu(0)t=0\frac{d\boldsymbol u}{dt}=A \boldsymbol u \quad 初始条件为向量 \quad \boldsymbol u(0)_{t=0}

注意,这里 AA 是常矩阵,不随时间而改变。而且这些方程是线性的,如果 u(t)\boldsymbol u(t)v(t)\boldsymbol v(t) 都是方程组的解,那么它们的线性组合 Cu(t)+Dv(t)C\boldsymbol u(t)+D\boldsymbol v(t) 也是解,我们需要 nn 个这样的常数来匹配方程组的初始条件。

1. dudt=Au\frac{d\boldsymbol u}{dt}=A \boldsymbol u 的解

其中一个解是 eλtxe^{\lambda t} \boldsymbol xλ\lambda 是矩阵 AA 的特征值,而 x\boldsymbol x 是特征向量。将这个解代入原方程,利用 Ax=λxA\boldsymbol x=\lambda \boldsymbol x 可得

dudt=λeλtx=Aeλtx=Au\frac{d\boldsymbol u}{dt} = \lambda e^{\lambda t} \boldsymbol x = A e^{\lambda t} \boldsymbol x=A \boldsymbol u

这个解的所有部分都有 eλte^{\lambda t},当 λ>0\lambda>0 时,解会增长;当 λ<0\lambda<0 时,解会衰减。而当 λ\lambda 为虚数时,则它的实部决定解是增长还是衰减。

  • 例 1

求解 dudt=Au=[0110]uu0=[42]\frac{d\boldsymbol u}{dt}=A \boldsymbol u = \begin{bmatrix}0&1 \\ 1&0\end{bmatrix}\boldsymbol u,\boldsymbol u_0 = \begin{bmatrix}4 \\ 2\end{bmatrix}

矩阵 AA 的特征值为 1 和 -1,特征向量为 (1, 1) 和 (1, -1),因此两个纯指数解为:

u1(t)=eλ1tx1=et[11]\boldsymbol u_1(t) = e^{\lambda_1 t} \boldsymbol x_1 = e^t\begin{bmatrix}1 \\ 1\end{bmatrix}

u2(t)=eλ2tx2=et[11]\boldsymbol u_2(t) = e^{\lambda_2 t} \boldsymbol x_2 = e^{-t}\begin{bmatrix}1 \\ -1\end{bmatrix}

这些 u\boldsymbol u 依然是矩阵的特征向量,它们满足 Au1=u1A\boldsymbol u_1 = \boldsymbol u_1Au2=u2A\boldsymbol u_2 = -\boldsymbol u_2,只不过是系数随着 tt 改变罢了。方程组的全解为这些特解的线性组合。

利用初始条件我们可以确定出系数 CCDD

因此,我们可以通过以下三个步骤来求解 dudt=Au\frac{d\boldsymbol u}{dt}=A \boldsymbol u

  • u0\boldsymbol u_0 写成特征向量的线性组合,u0=c1x1++cnxn\boldsymbol u_0 = c_1 \boldsymbol x_1+\cdots+c_n \boldsymbol x_n
  • 将每个特征向量 xi\boldsymbol x_i 乘以 eλite^{\lambda_i t}
  • 全解就是 eλtxe^{\lambda t}\boldsymbol x 的线性组合,u(t)=c1eλ1tx1++cneλntxn\boldsymbol u(t) = c_1 e^{\lambda_1 t}\boldsymbol x_1+\cdots+c_ne^{\lambda_n t} \boldsymbol x_n

注意,如果两个特征值相同而只有一个对应的特征向量,那么我们就需要另外一个解 teλtxte^{\lambda t}\boldsymbol x

  • 例 2

2. 二阶方程组

针对二阶方程 my+by+ky=0my''+by'+ky=0,我们将之转化为矩阵形式,假设 m=1m=1

因此,我们需要先求解出矩阵的特征值和特征向量。

3. 2×2 矩阵的稳定性

针对方程组的解,我们想知道随着 tt \to \infty,解是否趋向于 u=0\boldsymbol u = 0,也就是问题是否是稳定的。这取决于矩阵的特征值。

全解是由 eλtxe^{\lambda t}\boldsymbol x 构建出来的。如果特征值 λ\lambda 是实数,只有当 λ<0\lambda<0 时,解才会趋向 0。如果特征值 λ\lambda 是复数,那么有 λ=r+is\lambda=r+is,那么其实部必须小于零。

对 2×2 矩阵 [abcd]\begin{bmatrix}a&b \\ c&d\end{bmatrix} 来说,如果其两个特征值满足上面的两个条件,则一定有:

λ1+λ2<0T=a+d<0\lambda_1 + \lambda_2 < 0 \to 矩阵的迹 \quad T = a + d < 0

λ1λ2>0D=adbc>0\lambda_1 \lambda_2 > 0 \to 矩阵的行列式 \quad D = ad - bc > 0

4. 矩阵的指数次方

最后,我们想将方程组的解写成一个新的形式 u(t)=eAtu0\boldsymbol u(t) =e^{At}\boldsymbol u_0

ex=1+x+12x2+16x3+e^x = 1 + x+\frac{1}{2}x^2+\frac{1}{6}x^3 + \cdots

我们将 xx 换成矩阵,可得:

eAt=I+At+12(At)2+16(At)3+e^{At} = I + At+\frac{1}{2}(At)^2+\frac{1}{6}(At)^3 + \cdots

它的导数为 AeAtAe^{At}

A+A2t+12A3t2+16A4t3+=AeAtA + A^2t+\frac{1}{2}A^3t^2+\frac{1}{6}A^4t^3 + \cdots =Ae^{At}

它的特征值是 eλte^{\lambda t}

(I+At+12(At)2+16(At)3+ )x=(1+λt+12(λt)2+16(λt)3+ )x(I + At+\frac{1}{2}(At)^2+\frac{1}{6}(At)^3 + \cdots)x = (1+\lambda t + \frac{1}{2}(\lambda t)^2+\frac{1}{6}(\lambda t)^3 + \cdots)x

假设 AAnn 个线性不相关的特征向量,将 A=SΛS1A=S\Lambda S^{-1} 代入 eAte^{At} 可得:

eAt=I+At+12(At)2+16(At)3+e^{At} = I + At+\frac{1}{2}(At)^2+\frac{1}{6}(At)^3 + \cdots

=I+SΛS1t+12(SΛS1t)(SΛS1t)+= I + S\Lambda S^{-1}t+\frac{1}{2}(S\Lambda S^{-1}t)(S\Lambda S^{-1}t)+ \cdots

SSS1S^{-1} 提取出来有

=S(I+Λt+12(Λt)2+ )S1=SeΛtS1= S(I + \Lambda t+\frac{1}{2}(\Lambda t)^2+\cdots)S^{-1} = Se^{\Lambda t}S^{-1}

这和之前解的形式是一模一样的!

  • 例 3

eAte^{At} 满足下面三个规则:

  • eAte^{At} 总有逆矩阵 eAte^{-At}

  • eAte^{At} 的特征值总是 eλte^{\lambda t}

  • 如果 AA 是反对称矩阵,即 AT=AA^T=-A,那么 eAte^{-At} 是一个正交矩阵,转置等于逆。

  • 例 4

获取更多精彩,请关注「seniusen」!

展开阅读全文

没有更多推荐了,返回首页