文档

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,首先形成相应的决策向量xmat2dec然后调用evallmix作为输入。

例子

考虑寻找的可行性问题X>0这样

一个TXA- - - - - -X+< 0

在哪里

一个 = 0.5 0.2 0.1 0.7

这个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之前引入

这个话题有帮助吗?