dualex.m

来自「国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题」· M 代码 · 共 42 行

M
42
字号
yalmip('clear'); 
clc
echo on
%*********************************************************
%
% Dual variables
%
%*********************************************************
%
% Dual variables can easily be extracted from the
% optimal solution using YALMIP
% 
pause

% Let us solve a Lyapuov stability problem
A = [-1 2;0 -2];
P = sdpvar(2,2); 
F = set(P>eye(2),'Normalize P') + set(A'*P+P*A<0,'Lyapunov stability');
pause % Strike any key to continue. 

% Find minimum trace solution
solution = solvesdp(F,trace(P));
pause % Strike any key to continue. 
clc

% The dual solutions are readily obtained using simple indexing
dual(F(1))
dual(F(2))
pause
clc

% ... or with the tags
dual(F('Normalize P'))
dual(F('Lyapunov stability'))
pause
clc

% Complementary slackness ...
trace(double(F(1))*dual(F(1)))
trace(double(F(2))*dual(F(2)))
pause
echo off

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?