1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
---|
2 | <html> |
---|
3 | |
---|
4 | <head> |
---|
5 | <meta http-equiv="Content-Language" content="en-us"> |
---|
6 | <title>YALMIP Example : Efficient solution of KYP problems</title> |
---|
7 | <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> |
---|
8 | <meta content="Microsoft FrontPage 6.0" name="GENERATOR"> |
---|
9 | <meta name="ProgId" content="FrontPage.Editor.Document"> |
---|
10 | <link href="yalmip.css" type="text/css" rel="stylesheet"> |
---|
11 | <base target="_self"> |
---|
12 | </head> |
---|
13 | |
---|
14 | <body leftMargin="0" topMargin="0"> |
---|
15 | |
---|
16 | <div align="left"> |
---|
17 | <table border="0" cellpadding="4" cellspacing="3" style="border-collapse: collapse" bordercolor="#000000" width="100%" align="left" height="100%"> |
---|
18 | <tr> |
---|
19 | <td width="100%" align="left" height="100%" valign="top"> |
---|
20 | <h2>KYP problems</h2> |
---|
21 | <hr noShade SIZE="1"> |
---|
22 | <p> |
---|
23 | <img border="0" src="exclamationmark.jpg" align="left" width="16" height="16">This |
---|
24 | example requires <a href="solvers.htm#kypd">KYPD</a> and |
---|
25 | an SDP-solver capable of calculating dual variables.</p> |
---|
26 | <p>Many problems in control and system theory can be formulated using the celebrated |
---|
27 | Kalman-Yakubovic-Popov lemma (KYP). By using this lemma, a large number of |
---|
28 | problems can be formulated using LMIs. Unfortunately, many |
---|
29 | practical problems leads to LMIs far too big to be efficiently solved |
---|
30 | using standard semidefinite solvers.</p> |
---|
31 | <p>YALMIP can be used with the dedicated solver <a href="solvers.htm#kypd"> |
---|
32 | KYPD</a> to efficiently solve some problems with large-scale KYP constraints. |
---|
33 | In our setting, a <a href="reference.htm#kyp">KYP</a> is a matrix of the |
---|
34 | form <b><font face="Tahoma">[A<sup>T</sup>P+PA PB;B<sup>T</sup>P 0] + M(x)</font></b>, |
---|
35 | with <b>P</b> and the <b>x</b> being the free variables, and <b>M</b> a |
---|
36 | linear operator.</p> |
---|
37 | <p>The following code calculates the L<sub>2</sub>-gain of a random stable |
---|
38 | system with 40 states, using the dedicated <a href="solvers.htm#kypd">KYPD</a>-solver, |
---|
39 | and a standard SDP-solver.</p> |
---|
40 | <table cellPadding="10" width="100%"> |
---|
41 | <tr> |
---|
42 | <td class="xmpcode"> |
---|
43 | <pre>n = 40; |
---|
44 | A = randn(n);A = A - max(real(eig(A)))*eye(n)*1.5; % Stable dynamics |
---|
45 | B = randn(n,1); |
---|
46 | C = randn(1,n); |
---|
47 | |
---|
48 | t = sdpvar(1,1); |
---|
49 | P = sdpvar(n,n); |
---|
50 | |
---|
51 | F = set(kyp(A,B,P,blkdiag(C'*C,-t)) < 0) |
---|
52 | |
---|
53 | sol1 = solvesdp(F,t,sdpsettings('solver','kypd')); |
---|
54 | sol2 = solvesdp(F,t); |
---|
55 | |
---|
56 | sol1.solvertime/sol2.solvertime % Compare solution time</pre> |
---|
57 | </td> |
---|
58 | </tr> |
---|
59 | </table> |
---|
60 | <p><img border="0" src="demoicon.gif" width="16" height="16"> The |
---|
61 | variable <b>P </b>may only enter in 1 constraint if you intend to use |
---|
62 | <a href="solvers.htm#kypd">KYPD</a>, i.e. you cannot use |
---|
63 | <a href="solvers.htm#kypd">KYPD</a> if you want to impose explicit |
---|
64 | constraints (including <br> |
---|
65 | positive definiteness) of <b>P</b>. However, positive definiteness of <b>P </b> |
---|
66 | is in some cases implied by the KYP constraint. You can have multiple KYP constraints with different <b>P </b>variables.</p> |
---|
67 | </td> |
---|
68 | </tr> |
---|
69 | </table> |
---|
70 | </div> |
---|
71 | |
---|
72 | </body> |
---|
73 | |
---|
74 | </html> |
---|