Deleted vectorized computation feature. Deleted neldermead_contour. Fixed the demos.
[scilab.git] / scilab / modules / optimization / macros / neldermead / nmplot_contour.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2009 - INRIA - Michael Baudin
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 //
11 // nmplot_contour --
12 //   Plot the contours of the cost function.
13 //   The cost function must be a function with two parameters.
14 // Arguments
15 //   xmin , xmax , ymin , ymax : the bounds for the contour plot
16 //   nx , ny : the number of points in the directions x, y
17 //   xdata , ydata , zdata : vectors of data, as required by the contour command
18 //
19 function [ this , xdata , ydata , zdata ] = nmplot_contour ( this , xmin , xmax , ymin , ymax , nx , ny )
20   // Check that there are only 2 parameters
21   n = neldermead_cget ( this.nmbase , "-numberofvariables" );
22   if n <> 2 then
23     errmsg = msprintf(gettext("%s: Unexpected number of variables %d. Cannot draw contour plot for functions which do not have two parameters."),"nmplot_contour",n)
24     error(errmsg)
25   end
26   stepx = (xmax - xmin)/nx
27   xdata = xmin:stepx:xmax;
28   stepy = (ymax - ymin)/ny
29   ydata = ymin:stepy:ymax;
30   for ix = 1:length(xdata)
31     for iy = 1:length(ydata)
32       experiment = [xdata(ix) ydata(iy)];
33       [ this.nmbase , fiexp ] = neldermead_function ( this.nmbase , experiment );
34       zdata ( ix , iy ) = fiexp;
35     end
36   end
37 endfunction
38