9d5fb8c2da35c2b9bce369694970455e84dcdc92
[scilab.git] / scilab / modules / optimization / macros / optimsimplex / optimsimplex_setall.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008-2009 - INRIA - Michael Baudin
3 // Copyright (C) 2009-2010 - DIGITEO - Michael Baudin
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10
11 //
12 // optimsimplex_setall --
13 //   Set all the coordinates and and the function values of all the vertices.
14 //   The given matrix is expected to have the following organization
15 //   * size nbve X n+1
16 //   * data is organized by row : function value, then x
17 //   * simplex(k,1) is the function value of the vertex #k, with k = 1 , nbve
18 //   * simplex(k,2:n+1) is the coordinates of the vertex #k, with k = 1 , nbve
19 // Arguments
20 //   simplex : the simplex to set
21 //
22 function this = optimsimplex_setall ( this , simplex )
23     nbve = size(simplex,1)
24     np1 = size(simplex,2)
25     if np1 > nbve then
26         errmsg = msprintf(gettext ( "%s: The number of vertices (i.e. the number of rows) is %d which is smaller than the number of columns %d (i.e. n+1).") , "optimsimplex_setall",nbve,np1);
27         error(errmsg);
28     end
29     this.n = np1 - 1;
30     this.nbve = nbve;
31     this.fv ( 1:nbve , 1 ) = simplex ( 1:nbve , 1 )
32     this.x ( 1:nbve , 1:this.n ) = simplex ( 1:nbve , 2:this.n+1 )
33 endfunction
34