Talk:Beginning with CVX
From Wikimization
(Difference between revisions)
Line 46: | Line 46: | ||
[v_H,D] = eig( full ( H ) ) | [v_H,D] = eig( full ( H ) ) | ||
- | + | % v_W_1 = v_W( : , 1 ) / norm ( v_W ( : , 1 ) ) ; | |
- | + | % v_W_2 = v_W( : , 2 ) / norm ( v_W ( : , 2 ) ) ; | |
- | + | % v_W_3 = v_W( : , 3 ) / norm ( v_W ( : , 3 ) ) ; | |
- | + | % v_W_4 = v_W( : , 4 ) / norm ( v_W ( : , 4 ) ) ; | |
- | + | % v_H_1 = v_H( : , 1 ) / norm ( v_H ( : , 1 ) ) ; | |
- | + | % v_H_2 = v_H( : , 2 ) / norm ( v_H ( : , 2 ) ) ; | |
- | + | % v_H_3 = v_H( : , 3 ) / norm ( v_H ( : , 3 ) ) ; | |
- | + | % v_H_4 = v_H( : , 4 ) / norm ( v_H ( : , 4 ) ) ; | |
%4a)4a | %4a)4a |
Revision as of 22:54, 5 February 2009
lamda_W=eig(full(W))
Thanks a lot for all the ideas, they all are greats.
I think I'm wrong with this code, I would like to put the if - else - end with the another constraits, inside the cxv_begin, but the CVX don't let me doing it. Some ideas?
I don't know how to initialice Epsilon1 and Epsilon2. I'm trying different values.
Thanks a lot again.
Here is the new code:
%0)Initialization clear all; n=2; m=1; A_a=3*eye(2*n,2*n) B_a=4*eye(2*n,2*m) %1)1 W=eye(4) R=(zeros(2,4)) %2)2 H=W*A_a'+A_a*W-B_a*R-R'*B_a' lamda_W=min(eig(full(W))) lamda_H=max(eig(H)) Epsilon1=11; Epsilon2=0.1; if(lamda_W>=Epsilon1) if(lamda_H<=-Epsilon2) para=1 else para = 0 end else para =0 end %while para==0 %3)3 [v_W,D] = eig( full ( W ) ) [v_H,D] = eig( full ( H ) ) % v_W_1 = v_W( : , 1 ) / norm ( v_W ( : , 1 ) ) ; % v_W_2 = v_W( : , 2 ) / norm ( v_W ( : , 2 ) ) ; % v_W_3 = v_W( : , 3 ) / norm ( v_W ( : , 3 ) ) ; % v_W_4 = v_W( : , 4 ) / norm ( v_W ( : , 4 ) ) ; % v_H_1 = v_H( : , 1 ) / norm ( v_H ( : , 1 ) ) ; % v_H_2 = v_H( : , 2 ) / norm ( v_H ( : , 2 ) ) ; % v_H_3 = v_H( : , 3 ) / norm ( v_H ( : , 3 ) ) ; % v_H_4 = v_H( : , 4 ) / norm ( v_H ( : , 4 ) ) ; %4a)4a if ( Epsilon1 - lamda_W )>(lamda_H+Epsilon2) Caso=1 %For know where am I cvx_begin variables p1 p2 W(4,4) R(2,4) minimize (p1+p2) subject to W(1,1)<=p1 W(2,2)<=p1 W(1,1)>=Epsilon1 W(2,2)>=Epsilon1 W(3,3)==W(1,1) W(4,4)==W(2,2) R(1,1)>=-p2 R(1,1)<=p2 R(2,3)==R(1,1) R(1,2)>=-p2 R(1,2)<=p2 R(2,4)==R(1,2) H=W*A_a'+A_a*W-B_a*R-R'*B_a' v_W'*W*v_W - Epsilon1*eye(2*n) == semidefinite(2*n); cvx_end else %4b)4b Caso = 2 cvx_begin variables p1 p2 W(4,4) R(2,4) minimize (p1+p2) subject to W(1,1)>=Epsilon1 W(2,2)>=Epsilon1 W(1,1)<=p1 W(2,2)<=p1 W(3,3)==W(1,1) W(4,4)==W(2,2) R(1,1)>=-p2 R(1,1)<=p2 R(2,3)==R(1,1) R(1,2)>=-p2 R(1,2)<=p2 R(2,4)==R(1,2) H=W*A_a'+A_a*W-B_a*R-R'*B_a' Epsilon2*eye(2*n) + v_H'*H*v_H == -semidefinite(2*n); cvx_end end R W=full(W) K=R/W