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

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

作者: 半夜清风 | 来源:发表于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