source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/opt/yalmip/extras/lindo_fungp.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 [f,err] = fmincon_funn(cbData,nRow,x,njdiff,dXjbase,reserved,inParam)
2
3persistent prob Af A bf b
4
5if nargin == 7   
6    prob = inParam;
7    ind = find(prob.map==0);
8    Af = prob.A(ind,:);
9    bf = prob.b(ind);
10    A = spalloc(max(prob.map),size(prob.A,1),0);
11    for i = 1:max(prob.map)
12        ind = find(prob.map==i);
13        A(i,ind) = prob.b(ind)';
14    end
15    return
16end
17
18x = x(1:size(prob.A,2));
19if nRow == -1   
20    z = Af*x;
21    f = full(log(bf'*exp(z)));   
22else 
23    g = A*exp(prob.A*x);
24    ind = find(g<1e-2);
25    if ~isempty(ind)
26        g(ind) = exp(log(1e-2)+(g(ind)-1e-2)/1e-2);
27    end
28    g = log(g);
29
30    if length(prob.h) > 0
31        g = [log(prob.h) + prob.G*x;g];
32    end
33
34    f = g(nRow+1);
35end
36err = 0;
Note: See TracBrowser for help on using the repository browser.