美文网首页
MIT 线性代数 23 微分方程和exp(At)

MIT 线性代数 23 微分方程和exp(At)

作者: 光能蜗牛 | 来源:发表于2022-05-19 10:49 被阅读0次

    微分方程

    1.复习

    引入的微分方程
    \frac{du_1}{dt}=-u_1+2u_2
    \frac{du_2}{dt}=u_1-2u_2
    首先复习下微分方程的解法:
    上式可以写成

    u_1'=-u_1+2u_2-----1
    u_2'=u_1-2u_2------2

    1式加2式 =>

    u_1'=-u_2'--------3

    3式代入2式=>

    u_2=\frac{u_1+u_1'}{2}------4

    将4式代入2式=>

    (\frac{u_1+u_1'}{2})'=u_1-(u_1+u_1')

    简化后

    u_1''+3u_1'=0------5

    上式表明u_1的一阶导和u_1的二阶导呈线性关系,这样的函数我们比较熟悉的只有e^x这种类型,
    又因为u_1是关于自变量t的函数,所以我们可以假设原函数

    u_1=ce^{\lambda t}

    我们分别求出其一阶导和二阶导

    u_1’=ace^{\lambda t}
    u_1'’=a^2ce^{\lambda t}

    将等式代入式5,于是我们得到

    \lambda ^2ce^{\lambda t}+3\lambda ce^{\lambda t}=0其中c不等于0,事实上c=0的情况也没啥意义

    两边同时约去ce^{\lambda t}

    \lambda ^2+3\lambda =0--------6

    6就是我们熟悉的特征方程
    易得\lambda_1 =0,\lambda_2=-3
    于是原方程的通解为e^{0t}e^{-3t}的线性组合
    即:u_1=c_1e^{0t}+c_2e^{-3t}

    u_2也可以做同样的处理
    u_2''+3u_2'=0------7
    可以解出u_2的通解为
    即:u_2=d_1e^{0t}+d_2e^{-3t}

    通过分别求出u_1'u_2'并代入到原微分方程,可以求出待定系数d_1=\frac{1}{2}c_1,d_2=-c_2
    因此原微分方程的通解可以表示为如下:

    u_1=c_1e^{0t}+c_2e^{-3t}

    u_2=\frac{1}{2}c_1e^{0t}-c_2e^{-3t}

    2.微分方程的线性代数解法

    首先将方程写下来

    \frac{du_1}{dt}=-u_1+2u_2
    \frac{du_2}{dt}=u_1-2u_2

    u_1,u_2都是关于t的函数,令

    U(t)= \begin{bmatrix}u_1(t)\\u_2(t) \end{bmatrix}

    整理的得到方程组

    \frac{dU(t)}{dt}=\begin{bmatrix}-1&2\\1&-2\end{bmatrix}\begin{bmatrix}u_1(t)\\u_2(t)\end{bmatrix}

    其中特征矩阵A=\begin{bmatrix}-1&2\\1&-2\end{bmatrix}

    |A-\lambda I|=0,求出特征值\lambda_1=0,\lambda_2=-3,以及相应的特征向量
    X_1=\begin{bmatrix}2\\1\end{bmatrix}X_2=\begin{bmatrix}1\\-1\end{bmatrix}

    由前面的微分方程的复习我们知道

    U(t)=\begin{bmatrix}u_1(t)\\u_2(t)\end{bmatrix}=\begin{bmatrix}c_1e^{\lambda_1t}+c_2e^{\lambda_2t}\\\frac{1}{2}c_1e^{\lambda_1t}-c_2e^{\lambda_2t}\end{bmatrix}

    = \frac{1}{2}c_1e^{\lambda_1t}\begin{bmatrix}2\\1\end{bmatrix}+c_2e^{\lambda_2t}\begin{bmatrix}1\\-1\end{bmatrix}
    = \frac{1}{2}c_1e^{\lambda_1t}X_1+c_2e^{\lambda_2t}X_2

    这里的\frac{1}{2}c_1可直接记为c_1
    也就是说微分方程的通解

    U(t)=c_1e^{\lambda_1t}X_1+c_2e^{\lambda_2t}X_2

    也就是说,通解可以完全的分解为对特征向量的线性组合进行表示,即,当我们知道方程的特征值和特征向量的时候,根本就不再需要像前面复习部分求解微分方程那样来来回回代入计算算一大通了
    这里可以对比前一节斐波那契数列u_k=\begin{bmatrix}F_{k+1}\\F_k\end{bmatrix}=c_1\lambda_1^{k} X_1+c_2\lambda_2^{k} X_2,不同之处在于,
    微分方程的通解的特征值被写到自然数e的指数位置,
    事实上,任意的微分方程,如果其系数矩阵A可对角化

    其通解都可以写成 U(t)=c_1e^{\lambda_1t}X_1+c_2e^{\lambda_2t}X_2 的形式

    这里教授想对该微分方程探究一个问题

    如果t=0时刻,即如果U(0)=\begin{bmatrix}1\\0\end{bmatrix},那么方程最后归于稳态的时候是什么状态
    我们先把系数求出来

    U(0)=c_1e^{\lambda_10}X_1+c_2e^{\lambda_20}X_2=\begin{bmatrix}1\\0\end{bmatrix}
    于是c_1\begin{bmatrix}2\\1\end{bmatrix}+c_2\begin{bmatrix}1\\-1\end{bmatrix}=\begin{bmatrix}1\\0\end{bmatrix}
    解得c_1=c_2=\frac{1}{3}

    原通解可写成
    U(t)=\frac{1}{3}e^{0t}X_1+\frac{1}{3}e^{-3t}X_2
    可见t增大的过程中,后一项\frac{1}{3}e^{-3t}X_2趋于0,只会保留第一项
    于是稳态下U(\infty)=\frac{1}{3}\begin{bmatrix}2\\1\end{bmatrix}
    即对于该微分方程
    U(t)=\begin{bmatrix}u_1(t)\\u_2(t) \end{bmatrix}
    如果U(0)=\begin{bmatrix}1\\0\end{bmatrix}U(\infty)=\frac{1}{3}\begin{bmatrix}2\\1\end{bmatrix},即初始的1个单位的u_1\frac{1}{3}u_1流向了u_2

    可见只有当所有特征值均为负数时候,微分方程稳态总是趋于0
    如果是复数根,只要保证复数的实部为负数即可,
    比如\lambda=-3+6i
    ce^{(-3+6i)t}=ce^{-3t}e^{6it}=ce^{-3t}(cos(6t)+isin(6t))
    起作用的还是前面的e^{-3t}e^{6it}是在单位圆上转圈圈

    当其中一个特征值=0,其他特征值实部均为负数时候,微分方程会趋于一个固定稳态值,其值由特征值为0那一项前面的系数以及特征向量决定

    一点评述,如何保证特征值均为负
    trace(A)<0\lambda_1+\lambda_2 < 0 矩阵的迹小于零
    同时|A|=\lambda_1*\lambda_2>0 矩阵的行列式的值小于零
    的时候,微分方程的的通解会随时间趋于稳定的0;

    e^(At)

    特征值和特征向量的作用是解耦,又称对角化
    回到原来的方程组
    dU/dt=AUU=Sv,其中S表示特征向量,v表示特征向量用于线性组合的与t相关的项
    不妨抄写一下,方便理解
    U(t)=c_1e^{\lambda_1t}X_1+c_2e^{\lambda_2t}X_2

    =\begin{bmatrix}X_1&X_2\end{bmatrix} \begin{bmatrix}c_1e^{\lambda_1t}\\c_2e^{\lambda_2t} \end{bmatrix}

    =Sv

    这里插入一点个人理解(非教授提到的,但我感觉比起教授写的更清晰一下)
    因为U(t)=c_1e^{\lambda_1t}X_1+c_2e^{\lambda_2t}X_2
    所以U(0)=c_1X_1+c_2X_2=\begin{bmatrix}X_1&X_2\end{bmatrix}\begin{bmatrix} c_1\\c_2\end{bmatrix}
    所以
    \begin{bmatrix}X_1&X_2\end{bmatrix}^{-1}U(0)=\begin{bmatrix} c_1\\c_2\end{bmatrix}
    那么如果要让U(t)U(0)的方式来表示最终的通项公式的话
    U(t)=c_1e^{\lambda_1t}X_1+c_2e^{\lambda_2t}X_2
    =\begin{bmatrix}X_1&X_2\end{bmatrix}\begin{bmatrix} c_1e^{\lambda_1t}\\c_2e^{\lambda_2t}\end{bmatrix}
    =\begin{bmatrix}X_1&X_2\end{bmatrix}\begin{bmatrix} e^{\lambda_1t}&0\\0&e^{\lambda_2t}\end{bmatrix}\begin{bmatrix} c_1\\c_2\end{bmatrix}
    =\begin{bmatrix}X_1&X_2\end{bmatrix}\begin{bmatrix} e^{\lambda_1t}&0\\0&e^{\lambda_2t}\end{bmatrix}\begin{bmatrix}X_1&X_2\end{bmatrix}^{-1}U(0)
    =Se^{\Lambda t}S^{-1}U(0)------(这个地方前面这一串其实等于e^{At}
    即上式
    =e^{At}U(0)
    也就是说当A可对角化为S\Lambda S^{-1}的时候,
    会有e^{At}=Se^{\Lambda t}S^{-1} 至于为什么成立,这属于矩阵的指数函数部分的内容,稍后会有e^{At}的麦克劳林展开推导
    这似乎还说明了一个事实,即对于常微分方程组 dU/dt=AU
    可以把矩阵U看成是一个普通的变量
    \frac{dU}{dt}=AU
    \frac{dU}{U}=Adt
    两边同时积分
    lnU=At+c
    于是U=e^{At+c}=e^{At}e^c因为e^c本质上还是常数
    U=e^{At}c 到这一步我们还需要确定c到底是个什么东西,虽然我们上面一直把矩阵U当成一个变量去使用,但现在真正要求c是啥子的时候,需要把把U再看回矩阵的形式
    我们把t=0代入原方程可得U(0)=e^{A0}c=c
    可见,通解可以写成U(t)=e^{At}U(0),至此,我们发现,对于任意的微分方程组的通解,都可以用这种方式矩阵指数的形式表示

    回归课程主线,下面是教授的推导:
    \frac{d(Sv)}{dt}=ASv

    S\frac{dv}{dt}=ASv

    \frac{dv}{dt}=S^{-1}ASv

    其中\frac{dv}{dt}=\begin{bmatrix} \lambda_1c_1e^{\lambda_1t}\\\lambda_2c_2e^{\lambda_2t}\end{bmatrix}

    =\begin{bmatrix} \lambda_1&0\\0&\lambda_2\\\end{bmatrix}\begin{bmatrix} c_1e^{\lambda_1t}\\c_2e^{\lambda_2t}\end{bmatrix}
    =\Lambda v

    S^{-1}ASv=\Lambda v
    这样的方式就相当于对原方程进行了解耦,意思就是这里的
    \frac{dv}{dt}中 ,每一项
    \frac{dv_i}{dt}=\lambda_iv_i=\lambda_ic_ie^{\lambda_it}
    而原方程的dU/dt是互相耦合的
    我们知道

    v(t)=\begin{bmatrix} c_1e^{\lambda_1t}\\c_2e^{\lambda_2t}\end{bmatrix}

    =\begin{bmatrix} e^{\lambda_1t}&0\\0&e^{\lambda_2t}\end{bmatrix}\begin{bmatrix} c_1\\c_2\end{bmatrix}

    =e^{\Lambda t}v_0

    于是U(t)通解还可以写成下面的形式

    U(t)=Sv(t)=Se^{\Lambda t}v_0
    =Se^{\Lambda t}S^{-1}u_0

    矩阵指数函数

    我们知道
    e^x=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\frac{x^4}{4!}+......+\frac{x^n}{n!}......
    可以根据这个对矩阵指数作定义
    e^A=I+A+\frac{A^2}{2!}+\frac{A^3}{3!}+\frac{A^4}{4!}+......+\frac{A^n}{n!}......

    e^{At}=I+At+\frac{(At)^2}{2!}+\frac{(At)^3}{3!}+\frac{(At)^4}{4!}+......+\frac{(At)^n}{n!}......
    =SS^{-1}I+S\Lambda S^{-1}t+\frac{(S\Lambda S^{-1}t)^2}{2!}+\frac{(S\Lambda S^{-1}t)^3}{3!}+......+\frac{(S\Lambda S^{-1}t)^n}{n!}......
    =SS^{-1}I+S\Lambda S^{-1}t+\frac{S\Lambda^2 S^{-1}t^2}{2!}+\frac{S\Lambda^3 S^{-1}t^3}{3!}+......+\frac{S\Lambda^n S^{-1}t^n}{n!}......

    =S(I+\Lambda t+\frac{\Lambda^2 t^2}{2!}+\frac{\Lambda^3 t^3}{3!}+\frac{\Lambda^4 t^4}{4!}+......+\frac{\Lambda^n t^n}{n!}......)S^{-1}
    =Se^{\Lambda t}S^{-1}

    n阶段微分方程的处理办法

    我们可以将二阶常微分方程
    y''+by'+ky=0

    转化为2x2的一阶问题进行处理,构造方法类似于我们对斐波那契数列的处理方法。

    u=\begin{bmatrix} y'\\y\end{bmatrix}
    u'=\begin{bmatrix}y''\\y'\end{bmatrix}= \begin{bmatrix}-b&-k\\1&0\end{bmatrix}\begin{bmatrix}y'\\y\end{bmatrix}

    如果是n阶微分方程,那么需要一个n\times n矩阵,除了第一行和对角线下面一排斜线上的元素之外,这个系数矩阵其它元素均为0,此时特征值和特征向量就会自动出现

    相关文章

      网友评论

          本文标题:MIT 线性代数 23 微分方程和exp(At)

          本文链接:https://www.haomeiwen.com/subject/lhmsertx.html