微分方程是变量的未知函数的数学方程,将函数值与不同阶导数联系起来。矩阵微分方程包含多个函数,以向量形式堆叠在一起,并由一个矩阵将它们与导数联系起来。
例如,一阶矩阵常微分方程为
其中是基变量的函数的向量,是函数的一阶导,是系数矩阵。
若为常数且有n个线性无关的特征向量,微分方程有如下一般解:
其中λ1, λ2, …, λn是A的特征值,u1, u2, …, un是A相应的特征向量;c1, c2, …, cn为常数。
更一般地说,若等于其积分,则马格努斯展开降为前导阶,微分方程的一般解是
其中是常向量。
通过使用哈密尔顿–凯莱定理和类范德蒙矩阵,这种形式化的矩阵指数解可简化为一种简单的形式。[1]下面,我们将用普策算法(Putzer's algorithm)来展示这一方法。[2]
矩阵方程
当且仅当常数矩阵A的所有特征值的实部都为负,n×1参数常数向量b才稳定。
稳定时收敛到的稳态x*可置
找到,因此有
假设A可逆。
因此,原方程可用偏离稳态的齐次形式来写
一种等效的表达是,x*是非齐次方程的一个特解,而所有解的形式都是
其中是齐次方程(b=0)的解。
n = 2(2个状态变量)时,稳定条件为:过渡矩阵A的两个特征值均有负实部,等价于A的迹为负、行列式为正。
的形式解为矩阵指数形式
使用多种技术中的任何一种进行评估。
给定特征值为的矩阵A,
其中
的方程是简单的一阶非齐次常微分方程。
注意该算法并不要求矩阵A可对角化,并绕过了通常使用的若尔当标准形的计算。
一阶齐次矩阵常微分方程包含两个函数x(t)、y(t),从矩阵形式解出后有如下形式:
其中、、、可为任意标量。
高阶矩阵ODE的形式可能复杂得多。
求解上述方程并找到这种特定阶次和形式的所需函数的过程大概分3步。每个步骤的简要说明如下:
第三部通常是把前两步的结果代入专门形式的一般方程中,下详。
要按上述3步解矩阵ODE,并在过程中使用简单矩阵,具体来说,现在下面的一阶齐次线性ODE中找到函数x、函数y,都用单一自变量t表示:
要解这个常微分方程系统,在过程中的某时刻需要一组两个初始条件(对应起点的两个状态变量)。这时先取x(0) = y(0) = 1。
第一步即找到A的特征值
上面的导数记号x′等称为拉格朗日记法(由约瑟夫·拉格朗日提出,等同于前面方程里的dx/dt,这是莱布尼兹记法,得名于戈特弗里德·莱布尼茨)。
一旦两个变量的系数被写为上述矩阵形式A,就可估计特征值了。为此,可求矩阵行列式,即从上述系数矩阵中减去单位矩阵乘常数λ,再得到特征多项式
再解得其零点。
进一步简化、应用矩阵加法的基本规则,得出
应用求单一2×2矩阵行列式的规则,可得下列一元二次方程
可以进一步简化
应用因式分解得到给定一元二次方程的两个根、
上面算出的、即所求A的特征值。
矩阵ODE的特征值可能是复数,求解过程的下一步及最终形式和解法可能会有巨大变化。
第二步即找到A的特征向量。
对算出的每个特征值,都有单独的特征向量。例如对第一个特征值即,有
应用矩阵乘法规则简化上式,得到
所有计算都是为了得到最后一个式子,本例中就是α = 2β。现在任取一个无关紧要的小值(这样更容易处理),代入α = 2β中的α或β(选哪个并不重要),这样就得到了一个简单的向量,就是这个特定特征值所需的特征向量。在本例中,我们取α = 2,得β = 1。用标准的向量符号来写,向量是这样的
对第二个特征值进行相同的计算,得到第二个特征向量,结果为
最后一步是找到“隐藏”在导数背后的所求函数。有两个函数,因为微分方程涉及两个变量。
方程包含之前得到的所有信息,形式如下:
代入特征值和特征向量,得到
简化
再简化,分别写出函数x、y的方程
上述方程就是所求的一般函数,但只是一般形式(A、B的值未指定),但我们想找到它们的精确形式和解。因此现在,考虑问题的给定初始条件(即所谓初值问题)。假设给定了,是ODE的起点;条件的应用指定了常数A、B。从条件可以看出,t = 0时,上述方程的左式等于1,由此可构造下列线性方程组
求解这些等式,发现常数A、B都等于1/3。因此将这些值代入这两个函数的一般形式,就可以得到它们的精确形式
所求的两个函数。
上述问题可以直接应用矩阵指数法解决。也就是说,可以说
给出了(可用MATLAB的expm
工具包之类,或通过对角化,并利用对角矩阵的矩阵指数与元素的指数化相等这一特性来计算)
得到最终解
这与之前展示的特征向量方法相同。