矩阵差分方程

来自testwiki
跳转到导航 跳转到搜索

矩阵差分方程是一种差分方程,其中某时刻的变量向量(或矩阵)与之前时刻的值通过矩阵相关。[1][2]方程的是变量向量任意两个指示值之间的最大时差。例如

𝐱t=𝐀𝐱t1+𝐁𝐱t2

是二阶矩阵差分方程,其中Template:MathTemplate:Math变量向量,Template:MathTemplate:MathTemplate:Math矩阵。该方程齐次,因为方程末尾没有常数项向量。同一个方程也可写成

𝐱t+2=𝐀𝐱t+1+𝐁𝐱t

𝐱n=𝐀𝐱n1+𝐁𝐱n2

最常见的矩阵差分方程都是一阶的。

非齐次一阶情形及稳态

非齐次一阶矩阵差分方程如:

𝐱t=𝐀𝐱t1+𝐛

与一个加性常向量 Template:Math。该系统的稳态是Template:Math向量的值Template:Math,一旦达到就不会偏离。Template:Math可通过置Template:Math、解Template:Math以得

𝐱*=[𝐈𝐀]1𝐛

其中Template:MathTemplate:Math单位矩阵,假定Template:Math可逆。非齐次方程可用偏离稳态的齐次方程重写:

[𝐱t𝐱*]=𝐀[𝐱t1𝐱*]

一阶情形的稳定性

一阶矩阵差分方程Template:Math稳定的,即当且仅当转移矩阵Template:Math的所有特征值(无论实复)绝对值都小于1时,Template:Math才逐渐收敛到稳态Template:Math

解一阶情形

假定方程齐次形式为Template:Math,然后可从初始条件Template:Math开始迭代。Template:MathTemplate:Math的初值,必须得知才能求解:

𝐲1=𝐀𝐲0𝐲2=𝐀𝐲1=𝐀2𝐲0𝐲3=𝐀𝐲2=𝐀3𝐲0

以此类推,由数学归纳法,用Template:Mvar表示的解为

𝐲t=𝐀t𝐲0

此外,若Template:Math可对角化,就可用它的特征值和特征向量重写Template:Math,得到解

𝐲t=𝐏𝐃t𝐏1𝐲0,

其中Template:MathTemplate:Math矩阵,列是Template:Math的特征向量(假设特征值互异);Template:MathTemplate:Math对角矩阵,对角元是Template:Math的特征值。这个解就是上述稳定性结果的依据:当且仅当Template:Mvar的特征值绝对值都小于1,Template:Math才会随时间收缩到零矩阵。

从一阶矩阵系统中提取单一标量变量的动力特性

Template:Math维系统Template:Math开始,可以提取其中一个状态变量(如Template:Math)的动态变化。上述Template:Mvar的求解方程表明,Template:Math的解是根据Template:MathTemplate:Mvar个特征值求得的。因此,描述Template:Math变化的方程本身必须有涉及特征值的解。这种描述直观地产生了Template:Math的演化方程,即

y1,t=a1y1,t1+a2y1,t2++any1,tn

其中参数Template:Mvar来自Template:Math特征方程式

λna1λn1a2λn2anλ0=0.

因此,Template:Mvar维一阶线性系统中的每个标量变量都根据一元Template:Mvar阶差分方程演化,与矩阵差分防尘具有相同的稳定性。

高阶情形的解与稳定性

可用分块矩阵将高阶矩阵差分方程转换到一阶,可以求解时滞超过一个周期的高阶方程,并分析其稳定性。例如,假设有二阶方程

𝐱t=𝐀𝐱t1+𝐁𝐱t2

变量向量Template:Math尺寸为Template:MathTemplate:MathTemplate:Math尺寸为Template:Math。则可以叠加为下列形式

[𝐱t𝐱t1]=[𝐀𝐁𝐈𝟎][𝐱t1𝐱t2]

其中Template:MathTemplate:Math单位矩阵Template:MathTemplate:Math零矩阵。然后将当前变量和一度滞后变量的Template:Math叠加向量表示为Template:Math,将Template:Math分块矩阵表示为Template:Math,就得到了之前的解

𝐳t=𝐋t𝐳0

与之前一样,当且仅当矩阵Template:Math 的所有特征值的绝对值都小于1时,叠加方程与原二阶方程才稳定。

非线性矩阵差分方程:黎卡提方程

LQG控制中,会出现一个当前和未来成本矩阵反向演化的非线性矩阵方程,下面用Template:Math表示。这个方程也被称为离散动力黎卡提方程,当据线性矩阵差分方程演化的变量向量受外源向量的控制,以优化二次损失函数时,就会产生这个方程。黎卡提方程形式如下:

𝐇t1=𝐊+𝐀𝐇t𝐀𝐀𝐇t𝐂[𝐂𝐇t𝐂+𝐑]1𝐂𝐇t𝐀

其中Template:MathTemplate:MathTemplate:Math尺寸为Template:MathTemplate:Math尺寸为Template:MathTemplate:Math尺寸为Template:MathTemplate:Math是受控向量元素数,Template:Math是控制向量元素数。参数矩阵Template:MathTemplate:Math来自线性方程,参数矩阵Template:MathTemplate:Math来自二次损失函数。详见此处

一般来说,该方程无法根据Template:Mvar分析求解Template:Math,而是通过迭代黎卡提方程,求出Template:Math的值序列。不过,已经证明[3],若Template:MathTemplate:Math,则可将黎卡提方程简化为标量有理差分方程分析求解;对任意Template:MvarTemplate:Mvar,若转移矩阵Template:Math可逆,则黎卡提方程就可根据矩阵特征值进行分析求解,尽管特征值可能要用数值计算才能找到。[4]

在大多数情况下,Template:Math随时间的演化是稳定的,也就是说Template:Math会收敛到特定的常矩阵Template:Math,其他矩阵都有理时也可能是无理的。参见隨機控制#離散時間系統

相关的黎卡提方程[5]

𝐗t+1=[𝐄+𝐁𝐗t][𝐂+𝐀𝐗t]1

其中Template:Math全都是Template:Math方阵。这个方程可以显式求解。假设𝐗t=𝐍t𝐃t1,在Template:MathTemplate:MathTemplate:Math显然成立。然后将其用于差分方程,得出

𝐗t+1=[𝐄+𝐁𝐍t𝐃t1]𝐃t𝐃t1[𝐂+𝐀𝐍t𝐃t1]1=[𝐄𝐃t+𝐁𝐍t][[𝐂+𝐀𝐍t𝐃t1]𝐃t]1=[𝐄𝐃t+𝐁𝐍t][𝐂𝐃t+𝐀𝐍t]1=𝐍t+1𝐃t+11

因此通过归纳法,形式𝐗t=𝐍t𝐃t1对所有Template:Mvar都成立。那么Template:MathTemplate:Math的演化可写为

[𝐍t+1𝐃t+1]=[𝐁𝐄𝐀𝐂][𝐍t𝐃t]𝐉[𝐍t𝐃t]

因此可归纳

[𝐍t𝐃t]=𝐉t[𝐍0𝐃0]

另见

参考文献

Template:Reflist