evallmi
给定决策变量的特定实例,求出lmi系统中的所有变量项
语法
Evalsys = evallmi(lmisys,decvars)
描述
evallmi
计算特定实例的所有LMI约束decvars
决策变量的向量。回想一下,decvars
完全确定矩阵变量的值X1,……XK.“评估”包括替换所有涉及的术语X1,……XK通过它们的矩阵值。输出evalsys
是一个仅包含常数项的LMI系统。
这个函数evallmi
用于验证LMI解算器的输出。这些解算器返回的向量可以直接馈送到evallmi
求所有变量项的值。每个LMI的左右两边的矩阵值然后由showlmi
.
观察
evallmi
表示对LMI解算器的输出进行操作。为矩阵变量的特定实例计算所有lmiX1,……XK,首先形成相应的决策向量x与mat2dec
然后调用evallmi
与x作为输入。
例子
考虑寻找的可行性问题X>0这样
一个TXA- - - - - -X+我< 0
在哪里
这个LMI系统定义如下:
setlmis([]) X = lmivar(1,[21 1]) %完全对称的X lmiterm([1 1 1 X],A',A) % lmi# 1: A'*X*A lmiterm([1 1 1 X],-1,1) % lmi# 1: -X lmiterm([1 1 1 1 X],1) % lmi# 1: I lmiterm([1 1 1 1 X],1,1) % lmi# 2: X lmis = getlmis
计算一个解xfeas
,叫feasp
通过
[tmin,xfeas] = feps (lmi)
结果是
Tmin = -4.7117e+00 xfeas = 1.1029e+02 -1.1519e+01 1.1942e+02
因此,LMI约束是可行的tmin
< 0。解决方案X对应于可行决策向量xfeas
将由X = dec2mat(lmis,xfeas,X)
.
来验证一下xfeas
确实可行,通过键入评估所有LMI约束
Evals = evallmi(lmis,xfeas)
第一个和第二个lmi的左右两侧由
[lhs1,rhs1] = showlmi(vals,1) [lhs2,rhs2] = showlmi(vals,2)
然后测试
Eig (lhs1-rhs1) ans = -8.2229e+01 -5.8163e+01
确认第一个LMI约束满足xfeas
.
R2006a之前引入
这个话题有帮助吗?