source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/opt/yalmip/modules/parametric/mpt_project_back_equality.m @ 37

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

Added original make3d

File size: 1.2 KB
Line 
1function [Fi,Gi,details] = mpt_project_back_equality(Matrices,Fi,Gi,details,OriginalMatrices);
2if isempty(Matrices.getback)
3    return
4else
5    %Original solution given by S1*z+S2*x+S3
6    S1 = Matrices.getback.S1;
7    S2 = Matrices.getback.S2;
8    S3 = Matrices.getback.S3;
9    for i=1:length(Fi)
10        if isempty(Fi{i})
11            Fi{i} = S2;
12            Gi{i} = S3;
13        else
14        Fi{i} = S1*Fi{i} + S2;
15        Gi{i} = S1*Gi{i} + S3;
16        end
17    end
18    if nargin>2
19        if OriginalMatrices.qp
20            for i=1:length(Fi)
21                % FIX : Check this...
22                details.Ai{i} = 0.5*Fi{i}'*OriginalMatrices.H*Fi{i} + 0.5*(OriginalMatrices.F*Fi{i}+Fi{i}'*OriginalMatrices.F') + OriginalMatrices.Y;
23                details.Bi{i} = OriginalMatrices.Cf*Fi{i}+Gi{i}'*OriginalMatrices.F' + Gi{i}'*OriginalMatrices.H*Fi{i} + OriginalMatrices.Cx;
24                details.Ci{i} = OriginalMatrices.Cf*Gi{i}+0.5*Gi{i}'*OriginalMatrices.H*Gi{i} + OriginalMatrices.Cc;
25            end
26        else
27            for i=1:length(Fi)
28                details.Bi{i} = OriginalMatrices.H*Fi{i} + OriginalMatrices.F;
29                details.Ci{i} = OriginalMatrices.H*Gi{i};
30            end
31        end
32    end
33end
Note: See TracBrowser for help on using the repository browser.