Учитывая конкретный экземпляр переменных принятия решений, оцените все переменные термины в системе LMI
evalsys = evallmi(lmisys,decvars)
evallmi оценивает все ограничения LMI для конкретного экземпляра decvars вектора переменных принятия решения. Напомним, что decvars полностью определяет значения матричных переменных X1,.., XK. «Оценка» состоит из замены всех терминов, включающих X1,., XK, на их матричное значение. Продукция evalsys - система LMI, содержащая только постоянные члены.
Функция evallmi полезен для проверки выходных данных решателей LMI. Вектор, возвращаемый этими решателями, может подаваться непосредственно в evallmi для оценки всех переменных терминов. Значения матрицы левой и правой сторон каждого LMI затем возвращаются посредством showlmi.
evallmi предназначен для работы на выходе решателей LMI. Чтобы оценить все LMI для конкретных экземпляров матричных переменных X1,.., XK, сначала сформируйте соответствующий вектор решения x с mat2dec а затем позвонить evallmi с x в качестве входных данных.
Рассмотрим проблему осуществимости нахождения X > 0 так, что
ATXA - X + I < 0
где
0,7).
Эта система LMI определяется следующим образом:
setlmis([]) X = lmivar(1,[2 1]) % full symmetric 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 0],1) % LMI #1: I lmiterm([-2 1 1 X],1,1) % LMI #2: X lmis = getlmis
Вычисление решения xfeas, звонок feasp около
[tmin,xfeas] = feasp(lmis)
Результат:
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(evals,1) [lhs2,rhs2] = showlmi(evals,2)
и тест
eig(lhs1-rhs1)
ans =
-8.2229e+01
-5.8163e+01
подтверждает, что первое ограничение LMI удовлетворено xfeas.