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

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

Added original make3d

File size: 1.6 KB
Line 
1function  exponent_m = separable(exponent_m,exponent_p,options);
2%SEPARABLE Internal function, not used
3
4% Author Johan Löfberg
5% $Id: separable.m,v 1.2 2004/07/02 08:17:32 johanl Exp $
6
7% %exponent_m(sum((exponent_m>0),2)>2,:)=[];
8%
9% card = max(sum((exponent_p>0),2));
10%
11% n_less = exponent_m(sum((exponent_m>0),2)<card,:);
12% n_equ  = exponent_m(sum((exponent_m>0),2)==card,:);
13% n_larg = exponent_m(sum((exponent_m>0),2)>card,:);
14%
15% A = minksum(n_less,n_less);
16% B = minksum(n_less,n_equ);
17% C = minksum(n_less,n_larg);
18% D = minksum(n_equ,n_equ);
19% E = minksum(n_equ,n_larg);
20% F = minksum(n_larg,n_larg);
21
22disconnected = [];
23for i = 1:size(exponent_p,2)
24    for j = i+1:size(exponent_p,2)
25        if ~any(exponent_p(:,i) & exponent_p(:,j))
26            disconnected = [disconnected;i j];
27        end
28    end
29end
30
31for i = 1:size(disconnected,1)
32    j = disconnected(i,1);
33    k = disconnected(i,2);
34    n0 = find(~exponent_m(:,j) & ~exponent_m(:,k));
35    nx = find(exponent_m(:,j) & ~exponent_m(:,k));
36    nz = find(~exponent_m(:,j) & exponent_m(:,k));
37    nxz = find(exponent_m(:,j) & exponent_m(:,k));
38   
39%     m0 = exponent_m(n0,:);
40%     mx = exponent_m(nx,:);
41%     mz = exponent_m(nz,:);
42%     mxz = exponent_m(nxz,:);
43%     
44%     from_E = minksum(mx,mz);
45%     from_B = minksum([m0;mx;mz],mxz);
46%     from_C = minksum(mxz,mxz);
47%     m_e = exponent_m(union(nx,nz),:)
48%     m_cb = exponent_m(union(nx,nz),:)
49    exponent_m = exponent_m([n0;nx;nz],:);
50end
51
52
53function msum = minksum(a,b);
54msum = [];
55for i = 1:size(a,1)
56    for j = i:size(b,1)
57        msum = [msum;a(i,:)+b(j,:)];
58    end
59end
Note: See TracBrowser for help on using the repository browser.