Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Optimization and Simulation > Simplex > optimsimplex_shrink


Shrinks the simplex.


opt = optimsimplex_shrink(opt, fun, [sigma])
[opt, data] = optimsimplex_shrink(opt, fun, sigma, data)



The current simplex object of TSIMPLEX type (tlist).


The function to compute at vertices.

The fun function is expected to have the following input and output arguments:

y = myfunction (x)

The shrinkage coefficient (optional). The default value is 0.5.


User-defined data passed to the function (optional).

If data is provided, it is passed to the callback function both as an input and output argument. In that case, the function must have the following header :

[y, data] = myfunction (x, data)

The data input parameter may be used if the function uses some additional parameters. It is returned as an output parameter because the function may modify the data while computing the function value. This feature may be used, for example, to count the number of times that the function has been called.


The optimsimplex_shrink function shrinks the simplex with given coefficient sigma and returns an updated simplex. The shrink is performed with respect to the first point in the simplex.


function y=rosenbrock(x)
  y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;

s1 = optimsimplex_new ();
simplex = [
-12   0.    0.
0   1.    0.
0   0.    1.
s1 = optimsimplex_setall ( s1 , simplex );
s1 = optimsimplex_shrink ( s1 , rosenbrock );
res = optimsimplex_getall ( s1 );

s1 = optimsimplex_destroy(s1);

See also

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:25 CET 2017