source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/opt/yalmip/@sdpvar/setsdpvar.m @ 37

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

Added original make3d

File size: 945 bytes
Line 
1function setsdpvar(X,value,ls)
2%SETSDPVAR Obsolete, use ASSIGN instead
3
4% Author Johan Löfberg
5% $Id: setsdpvar.m,v 1.6 2005/04/29 08:05:01 joloef Exp $ 
6
7if nargin<3
8    ls = 0;
9end
10
11if ~isa(X,'sdpvar')
12    error('First argument should be an SDPVAR object.');
13end
14
15if ~isa(value,'double')
16    error('Second argument should be a DOUBLE.');
17end
18
19if ~isequal(size(X),size(value))
20  error('Both arguments must have same size')
21end
22if ~isa(X,'sdpvar')
23  error('First arguments must be an sdpvar object')
24end
25
26x_lmi_variables = X.lmi_variables;
27b = value(:)-X.basis(:,1);
28A = X.basis(:,2:end);
29feas_var = A\b;
30
31if ~ls
32    if norm(A*feas_var-b)>sqrt(eps)
33        error('Inconsistent assignment')
34    end
35end
36
37sol = yalmip('getsolution');
38keep_these = find(~ismember(sol.variables,x_lmi_variables));
39sol.optvar = [sol.optvar(keep_these);feas_var(:)];
40sol.variables = [sol.variables(keep_these);x_lmi_variables(:)];
41yalmip('setallsolution',sol);
42
43
44
Note: See TracBrowser for help on using the repository browser.