美文网首页
矩阵指数函数与常微分方程组求解

矩阵指数函数与常微分方程组求解

作者: 半夜清风 | 来源:发表于2020-07-14 16:06 被阅读0次

    矩阵指数函数(matrix exponential)可用来求解常微分方程组。对于方形矩阵A,其矩阵指数函数定义为:\text{expm}(A)=e^A=\sum _{k=0}^{∞} \frac{1}{k!} A^k \tag{1}
    对矩阵A进行相似变换,
    A=T D T^{-1} \tag{2}
    结合(1)(2)可得:
    \text{expm}(A)=T\sum _{k=0}^{∞} \frac{1}{k!} D^k \ T^{-1}=Te^DT^{-1} \tag{3}
    矩阵指数函数有以下性质:
    如果两个方阵A, B满足AB=BA, 则:
    Ae^{Bt}=e^{Bt}A \tag{4}
    矩阵函数的导数:
    (e^{At}c)' = Ae^{At}c \tag{5}
    可以通过级数展开得到验证。

    线性常微分方程组

    对于不含多余项的线性常微分方程组:
    y'=Ay, \quad y(0)=y_0 \tag{6}
    其解为:
    y=e^{At}y_0 \tag{7}
    可以通过Taylor展开进行验证。也可以通过变换得到:
    e^{-At}y'=e^{-At}Ay
    根据(4),
    e^{-At}y'=Ae^{-At}y
    即:
    (e^{-At}y)' = 0
    从而
    y=e^{At}y_0

    含多余项的线性常微分方程组

    对于含多余项的线性常微分方程组:
    y' = Ay + f(t), \quad y(0)=y_0 \tag{8}
    可以通过变换再进行求解:
    e^{-At}y' = e^{-At}y + e^{-At}f(t) \tag{9}
    利用(4)(8)可以改为:
    (e^{-At}y)' = e^{-At}f(t)
    因而
    y = e^{At}( y_0 + \int_{\tau=0}^{\inf} e^{-A \tau} f(\tau) d\tau) \tag{10}

    矩阵指数函数用于曲线拟合

    对于系数为常数的线性常微分方程组,可以使用矩阵指数函数来定义拟合函数,由于是显性表达式,它比ode45等方法更准确、快速。MATLAB, Python, Origin等软件都提供了expm类似函数。

    参考文献

    1. https://en.wikipedia.org/wiki/Matrix_exponential

    相关文章

      网友评论

          本文标题:矩阵指数函数与常微分方程组求解

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