from Condor Optimizer by Frank Vanden Berghen
CONDOR: a constrained, non-linear, derivative-free optimizer for continuous, high computing load, no

plotOptimizationTrace(mytrace,fig)
function plotOptimizationTrace(mytrace,fig)
%
% CONDOR OPTIMIZER v1.11 
%
% Copyright (c) 2004, Frank Vanden Berghen
%
% License & help @ http://iridia.ulb.ac.be/~fvandenb/optimization/CONDORdownload.html
%
	eval('fig;','fig=figure;');
   figure(fig);
   clf;
   hold on;
%   dbstop plotOptimizationTrace 6;
	nEvaluations=size(mytrace,1);
   [fumin,iopt]=min(mytrace(:,3));
   l=plot3(mytrace(:,1),mytrace(:,2),zeros(1,nEvaluations)+fumin);
   set(l,'Color','k');
   set(l,'LineStyle',':');
   l=plot3(mytrace(:,1),mytrace(:,2),mytrace(:,3));
   set(l,'linewidth',2);
   [xs,ys,zs]=sphere(10);
   r=(max(mytrace(:,1))-min(mytrace(:,1)))*.02;
   xs=xs*r;
   r=(max(mytrace(:,2))-min(mytrace(:,2)))*.02;
   ys=ys*r;
   r=(max(mytrace(:,3))-fumin)*.025;
   zs=zs*r;
   l=surf(xs+mytrace(1,1),ys+mytrace(1,2),zs+mytrace(1,3));
   set(l,'FaceColor','r');
   set(l,'EdgeColor','none');
   l=surf(xs+mytrace(iopt,1),ys+mytrace(iopt,2),zs+fumin);
   set(l,'FaceColor','g');
   set(l,'EdgeColor','none');
   for i=1:nEvaluations,
      l=line([mytrace(i,1) mytrace(i,1)],[mytrace(i,2) mytrace(i,2)],[mytrace(i,3) fumin]);
      set(l,'color','k');
   end
   view(-60,70);
   l=title(sprintf('View of the optimization path followed by the Condor Optimizer\n(red dot=starting point; green dot=optimal point)'));
   set(l,'VerticalAlignment','top');
   hold off;
	drawnow; 

Contact us at files@mathworks.com