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

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

Added original make3d

File size: 740 bytes
Line 
1function y = mldivide(X,Y)
2%MLDIVIDE (overloaded)
3
4% Author Johan Löfberg
5% $Id: mldivide.m,v 1.4 2006/07/26 20:17:58 joloef Exp $   
6
7if (isa(X,'sdpvar'))
8  error('Division of matrix variables not possible.')
9end
10
11try
12  lmi_variables = getvariables(Y);
13  nv = length(lmi_variables);
14  y  = Y;
15  n = Y.dim(1);
16  m = Y.dim(2);
17  if m==1     
18    y.basis = X\Y.basis;   
19    y.dim(1) = size(y.basis,1);
20    y.dim(2) = 1;
21  else % FIX : VECTORIZE THIS...
22    [L,U] = qr(X);
23    temp = U\(L\reshape(Y.basis(:,1),n,m));
24    y.basis = temp(:);
25    for i = 1:nv
26        temp = U\(L\reshape(Y.basis(:,i+1),n,m));
27        y.basis(:,i+1) = temp(:);
28    end;
29    y.dim(1) = size(temp,1);
30    y.dim(2) = size(temp,2);
31  end
32catch
33  error(lasterr);
34end
Note: See TracBrowser for help on using the repository browser.