1 | clear all |
---|
2 | |
---|
3 | yalmip('clear') |
---|
4 | alfa=1; |
---|
5 | n = 6; |
---|
6 | |
---|
7 | load Q.mat |
---|
8 | w = -0.5; |
---|
9 | Qg = frsp(Qde,10^w); |
---|
10 | M0 = Qg(1:length(Qg)-1,1:length(Qg)-1); |
---|
11 | |
---|
12 | d1 = sdpvar(1,1); d2 = sdpvar(1,1); d3 = sdpvar(1,1); d4 = sdpvar(1,1); d5 = sdpvar(1,1); |
---|
13 | d = diag([d1 d2 d3 d4 d5 d5]); |
---|
14 | |
---|
15 | h1 = sdpvar(1,1); h2 = sdpvar(1,1); h3 = sdpvar(1,1); h4 = sdpvar(1,1); |
---|
16 | h = diag([h1 h2 h3 h4 0 0]); |
---|
17 | |
---|
18 | o = zeros(n,n); |
---|
19 | I = eye(n); |
---|
20 | |
---|
21 | M = M0; |
---|
22 | %M1 = real(M0); M2 = imag(M0); |
---|
23 | %M = [M1 M2; -M2 M1]; |
---|
24 | %jM = [-M2 M1;-M1 -M2]; |
---|
25 | |
---|
26 | % Define D & increase size to account for complex numbers |
---|
27 | D = d; |
---|
28 | %D2 = zeros(n,n); |
---|
29 | %D = [D1 D2; -D2 D1]; |
---|
30 | |
---|
31 | % Define H such that G=D'H and increase size to account for complex numbers |
---|
32 | H = h; |
---|
33 | %H2 = zeros(n,n); |
---|
34 | %H = [H1 H2; -H2 H1]; |
---|
35 | jH = j*H;%[-H2 H1;-H1 -H2]; |
---|
36 | |
---|
37 | W = [ I (D*M-jH) o o; |
---|
38 | (D*M-jH)' o alfa*D' H'; |
---|
39 | o alfa*D -I o; |
---|
40 | o H o -I]; |
---|
41 | |
---|
42 | Y = sdpvar(4*n,4*n,'symmetric'); |
---|
43 | Z = sdpvar(4*n,4*n,'symmetric'); |
---|
44 | |
---|
45 | L = lmi(d-1e-3); |
---|
46 | L = addlmi(L,[Y W;W' Z]); |
---|
47 | |
---|
48 | objective = trace(Y)+trace(Z); |
---|
49 | |
---|
50 | options = sdpsettings('Solver','sedumi'); |
---|
51 | options.sedumi.alg = 2; |
---|
52 | options.sedumi.theta = 0.5; |
---|
53 | options.sedumi.beta = 0.5; |
---|
54 | options.sedumi.eps = 1e-3; |
---|
55 | |
---|
56 | solution = solvesdp(L,[],objective,options); |
---|
57 | |
---|
58 | W = double(W); |
---|
59 | D = double(D); |
---|
60 | D = D(1:n,1:n); |
---|
61 | H = double(H); |
---|
62 | H = H(1:n,1:n); |
---|
63 | G = D'*H; |
---|
64 | |
---|
65 | MM = M'*D*M+j*(G*M-M'*G)-alfa*D; |
---|
66 | |
---|
67 | lambda = eig(MM); |
---|