zoukankan      html  css  js  c++  java
  • 线性代数之——微分方程和 exp(At)

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

    [frac{du}{dt}=lambda u quad 的解为 quad u(t) = Ce^{lambda t} ]

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

    [frac{doldsymbol u}{dt}=A oldsymbol u quad 初始条件为向量 quad oldsymbol u(0)_{t=0} ]

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

    1. (frac{doldsymbol u}{dt}=A oldsymbol u) 的解

    其中一个解是 (e^{lambda t} oldsymbol x)(lambda) 是矩阵 (A) 的特征值,而 (oldsymbol x) 是特征向量。将这个解代入原方程,利用 (Aoldsymbol x=lambda oldsymbol x) 可得

    [frac{doldsymbol u}{dt} = lambda e^{lambda t} oldsymbol x = A e^{lambda t} oldsymbol x=A oldsymbol u ]

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

    • 例 1

    求解 (frac{doldsymbol u}{dt}=A oldsymbol u = egin{bmatrix}0&1 \ 1&0end{bmatrix}oldsymbol u,oldsymbol u_0 = egin{bmatrix}4 \ 2end{bmatrix})

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

    [oldsymbol u_1(t) = e^{lambda_1 t} oldsymbol x_1 = e^tegin{bmatrix}1 \ 1end{bmatrix} ]

    [oldsymbol u_2(t) = e^{lambda_2 t} oldsymbol x_2 = e^{-t}egin{bmatrix}1 \ -1end{bmatrix} ]

    这些 (oldsymbol u) 依然是矩阵的特征向量,它们满足 (Aoldsymbol u_1 = oldsymbol u_1)(Aoldsymbol u_2 = -oldsymbol u_2),只不过是系数随着 (t) 改变罢了。方程组的全解为这些特解的线性组合。

    利用初始条件我们可以确定出系数 (C)(D)

    因此,我们可以通过以下三个步骤来求解 (frac{doldsymbol u}{dt}=A oldsymbol u)

    • (oldsymbol u_0) 写成特征向量的线性组合,(oldsymbol u_0 = c_1 oldsymbol x_1+cdots+c_n oldsymbol x_n)
    • 将每个特征向量 (oldsymbol x_i) 乘以 (e^{lambda_i t})
    • 全解就是 (e^{lambda t}oldsymbol x) 的线性组合,(oldsymbol u(t) = c_1 e^{lambda_1 t}oldsymbol x_1+cdots+c_ne^{lambda_n t} oldsymbol x_n)

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

    • 例 2

    2. 二阶方程组

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

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

    3. 2×2 矩阵的稳定性

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

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

    对 2×2 矩阵 (egin{bmatrix}a&b \ c&dend{bmatrix}) 来说,如果其两个特征值满足上面的两个条件,则一定有:

    [lambda_1 + lambda_2 < 0 o 矩阵的迹 quad T = a + d < 0 ]

    [lambda_1 lambda_2 > 0 o 矩阵的行列式 quad D = ad - bc > 0 ]

    4. 矩阵的指数次方

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

    [e^x = 1 + x+frac{1}{2}x^2+frac{1}{6}x^3 + cdots ]

    我们将 (x) 换成矩阵,可得:

    [e^{At} = I + At+frac{1}{2}(At)^2+frac{1}{6}(At)^3 + cdots ]

    它的导数为 (Ae^{At})

    [A + A^2t+frac{1}{2}A^3t^2+frac{1}{6}A^4t^3 + cdots =Ae^{At} ]

    它的特征值是 (e^{lambda t})

    [(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 ]

    假设 (A)(n) 个线性不相关的特征向量,将 (A=SLambda S^{-1}) 代入 (e^{At}) 可得:

    [e^{At} = I + At+frac{1}{2}(At)^2+frac{1}{6}(At)^3 + cdots ]

    [= I + SLambda S^{-1}t+frac{1}{2}(SLambda S^{-1}t)(SLambda S^{-1}t)+ cdots ]

    (S)(S^{-1}) 提取出来有

    [= S(I + Lambda t+frac{1}{2}(Lambda t)^2+cdots)S^{-1} = Se^{Lambda t}S^{-1} ]

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

    • 例 3

    (e^{At}) 满足下面三个规则:

    • (e^{At}) 总有逆矩阵 (e^{-At})

    • (e^{At}) 的特征值总是 (e^{lambda t})

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

    • 例 4

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

  • 相关阅读:
    概率算法实现八皇后问题-cpp
    交互式多媒体图书平台的设计
    Map容器
    序列容器和容器适配器
    ubuntu18.04 基于VSCode的C++环境搭建
    工程化编程实战callback接口学习
    stl_string
    通过filebeat的modules搜集nginx日志
    gitlab-runner安装配置
    EFK搜集MySQL慢日志
  • 原文地址:https://www.cnblogs.com/seniusen/p/10036871.html
Copyright © 2011-2022 走看看