主题: [MATLAB数学相关] Matlab如何求解这个黎卡提方程?
查看单个帖子
旧 2009-06-16, 21:04   #1
widemanzhao
初级会员
 
注册日期: 2008-10-29
年龄: 40
帖子: 2
声望力: 0
widemanzhao 正向着好的方向发展
默认 Matlab如何求解这个黎卡提方程?

这是待求的黎卡提方程:
X*A + A'*X +X*(gamma*B1*B1' - B2*inv(R)*B2')*X + Q = 0
其中,A,gamma,B1,B2,R均已知。
matlab里的“care”函数可用于求解黎卡提方程,但是格式为求解形如“A'*X + X*A - X*B*B'*X + Q = 0”的黎卡提方程。问题是我怎么将我想求解的项“gamma*B1*B1' - B2*inv(R)*B2'”转换为“B*B'”呢?
我想用chol分解来实现,但是结果却说项“gamma*B1*B1' - B2*inv(R)*B2'”非正定,无法分解。
应该怎么求解呢?
谢谢。
widemanzhao 当前离线   回复时引用此帖