source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/opt/yalmip/usertest/kwangmoo.m @ 37

Last change on this file since 37 was 37, checked in by (none), 14 years ago

Added original make3d

File size: 1.7 KB
Line 
1clear all;
2close all;
3
4N = 5;
5n_lower = ones(N,1);
6n_upper = 100*ones(N,1);
7x_lower = ones(N,1);
8x_upper = 4*ones(N,1);
9
10h = [0 0 0 0 0 0]';
11E = [1 0 0 0 0;
12     0 1 1 0 0;
13     0 0 1 0 0;
14     0 1 1 1 0;
15     0 0 1 1 0;
16     0 0 0 1 0];
17
18m = 2;
19tl = 2;
20Pl = 0.2;
21NL = 50;
22eta = 1.1;
23
24DPx = [1000 1000 1000 1000 1000]';
25d_lower = [1 1 1 1 1]';
26d_upper = [1000 1000 1000 1000 1000]';
27p0 = randn(5,1)+[0 0 0 0 0]';
28d0 = 1+[0 0 0 0 0]';
29
30Result = sdpvar(1,1);
31Pt  = sdpvar(1,1);
32n   = sdpvar(N,1);
33x   = sdpvar(N,1);
34D   = sdpvar(N,1);
35P   = sdpvar(N,1);
36fs  = sdpvar(1,1);
37
38obj = (Result^m)*Pt;
39
40F = set( Result^-1*(1+1*(h'*(E*n)))*fs^-1 <= 1 );
41% for i = 1:N
42%     F = F + set( n_lower(i) <= n(i) );
43%     F = F + set( n(i) <= n_upper(i) );
44%     F = F + set( x_lower(i) <= x(i) );
45%     F = F + set( x(i) <= x_upper(i) );
46%     F = F + set( n(i)^-1*D(i) + tl <= x(i)/fs );
47%     F = F + set( (DPx(i)-p0(i)*d0(i))*D(i)^-1*P(i)^-1+p0(i)*P(i)^-1+d0(i)*D(i)^-1 <= 1 );
48%     F = F + set( d_lower(i) <= D(i) );
49%     F = F + set( D(i) <= d_upper(i) );
50% end
51    F = F + set( n_lower <= n );
52    F = F + set( n <= n_upper );
53    F = F + set( x_lower <= x );
54    F = F + set( x <= x_upper );
55    F = F + set( n.^-1.*D + tl <= x./fs );
56    F = F + set( (DPx-p0.*d0).*(D.^-1).*(P.^-1)+p0.*(P.^-1)+d0.*(D.^-1) <= 1 );
57    F = F + set( d_lower <= D);
58    F = F + set( D <= d_upper);
59
60% What I wanted to do in the previous version
61F = F + set( Pt^-1*(x'*P)*fs + Pt^-1*((n.^eta)'*x)*NL*Pl*fs <= 1 );
62
63% % Temporary solution
64% temp = sdpvar(N,1);
65% for i = 1:N
66%     temp(i) = n(i)^eta;
67% end   
68% F = F + set( Pt^-1*(x'*P)*fs + Pt^-1*(temp'*x)*NL*Pl*fs <= 1 );
69
70solvesdp(F,obj,sdpsettings('verbose',1))
71
72disp('Result')
73double(Result)
Note: See TracBrowser for help on using the repository browser.