目录
1、Sylvester方程
矩阵方程
Matlab控制工具箱提供了直接的求解该方程的lyap()函数:
A=[8 1 6;3 5 7;4 9 2]
B=[2 3;4 5]
C=[1 2;3 4;5 6]
X=lyap(A,B,C)
同理,我们使用Kronecker乘机的形式将原方程进行如下变化:
function X=lyap3(A,B,C)
%Sylvester方程的解析解法
%rewrited by dynamic
%more information
If nargin==2,C=B;B=A';end
[nr,nc]=size(C);
A0=kron(A,eye(nc))+kron(eye(nr),B');
try
C1=C';
X0=-inv(A0)*C1(:);
X=reshape(X0,nc,nr);
catch
error('Matlabsky提醒您:矩阵奇异!');
end
使用上面的数据,我们试验下该解析解法
>>X=lyap3(sym(A),B,C)
X =
[ 2853/14186, 557/14186, -9119/14186]
[ 11441/56744, 8817/56744, -50879/56744]
2、Lyapunov方程
未完待续
3、Riccati方程
未完待续