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
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     if typeof(this) <> "TSIMPLEX" then
24         error(msprintf(gettext("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 1));
25     end
26     if typeof(simplex) <> "TSIMPLEX" then
27         error(msprintf(gettext("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 2));
28     end
29     nbve = size(simplex,1)
30     np1 = size(simplex,2)
31     if np1 > nbve then
32         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);
33         error(errmsg);
34     end
35     this.n = np1 - 1;
36     this.nbve = nbve;
37     this.fv ( 1:nbve , 1 ) = simplex ( 1:nbve , 1 )
38     this.x ( 1:nbve , 1:this.n ) = simplex ( 1:nbve , 2:this.n+1 )
39 endfunction