setmvar
实例化矩阵变量并评估所有涉及此矩阵变量的LMI术语
句法
mnewsys = setMvar(lmisys,x,xval)
描述
setmvar
设置矩阵变量X带有标识符X
值xval
。所有涉及的术语X对评估,恒定条款进行相应更新,并且X从矩阵变量列表中删除。返回结果的LMI系统的描述新闻
。
整数X
是返回的标识符lmivar
什么时候X被宣布。实例化X和setmvar
不会更改其余矩阵变量的标识符。
功能setmvar
对于冻结某些矩阵变量并相对于其余的矩阵变量很有用。它通过避免部分或完全重新定义LMI约束来节省时间。
例子
考虑系统
X=斧头+bu
以及找到稳定的国家反馈法的问题你=Kx在哪里k是一个未知的矩阵。
由Lyapunov定理,这等同于寻找p> 0和k这样
((a + bk)p+p((a + bkt) +我<0。
随变量的变化y:=KP,这种情况减少到LMI
AP+PAt+经过+ytbt+我<0。
此LMI由命令输入
n = size(a,1)%状态数ncon = size = size(b,2)%输入数量setlmis([])p = lmivar(1,[n 1])%p完整对称y = lmivar(2,2,2,[ncon n])%y矩形lmiterm([1 1 1 p],a,1,'s')%ap+pa'lmiterm([1 1 1 y],b,1,'s')%by+y'b'lmiterm([1 1 1 0],1)%i lmis = getlmis
找出这个问题是否有解决方案k对于特定的Lyapunov矩阵p=我, 放p至我通过打字
新闻= setMvar(LMIS,p,1)
生成的LMI系统消息
只有一个变量y=k。通过致电评估其可行性feasp
:
[tmin,xfeas] = feasp(新闻)y = dec2mat(新闻,Xfeas,y)
计算的y无论何时可行Tmin
<0。
在R2006a之前引入
这个话题有帮助吗?