source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/opt/yalmip/extras/@ncvar/sparse.m @ 37

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

Added original make3d

File size: 864 bytes
Line 
1function Y=sparse(varargin)
2%SPARSE (overloaded)
3
4% Author Johan Löfberg
5% $Id: sparse.m,v 1.1 2006/08/10 18:00:22 joloef Exp $   
6
7if nargin < 3
8    error('At-least 3 arguments needed');
9end
10
11data = varargin{3};
12ns = varargin{1};
13ms = varargin{2};
14
15if length(ns)~=length(ms) | length(ms)~=length(data)
16    error('Length of first 3 arguments must be equal');
17end
18
19if min(size(data))>1
20    error('Third argument should be a vector');
21end
22
23if nargin < 4
24    n = max(ns);
25else
26    n = varargin{4};
27end
28if nargin < 5
29    m = max(ms);
30else
31    m = varargin{5};
32end
33
34if any(ms>m)
35    error('Dimension mismatch')
36end
37
38if any(ns>n)
39    error('Dimension mismatch')
40end
41
42Y = data;
43Y.dim(1) = n;
44Y.dim(2) = m;
45[i1,j1,s1] = find(data.basis);
46ind = ns+(ms-1)*n;
47Y.basis = sparse(ind(i1),j1,s1,n*m,1+length(Y.lmi_variables));
48% Reset info about conic terms
49Y.conicinfo = [0 0];
Note: See TracBrowser for help on using the repository browser.