optimsimplex_shrink
Shrinks the simplex.
Syntax
opt = optimsimplex_shrink(opt, fun, [sigma]) [opt, data] = optimsimplex_shrink(opt, fun, sigma, data)
Argument
- opt
The current simplex object of TSIMPLEX type (tlist).
- fun
The function to compute at vertices.
The
fun
function is expected to have the following input and output arguments:y = myfunction (x)
- sigma
The shrinkage coefficient (optional). The default value is 0.5.
- data
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.
Description
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.
Example
function y=rosenbrock(x) y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2; endfunction 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 ); disp(res) s1 = optimsimplex_destroy(s1);
See also
- optimsimplex_new — Creates a new simplex object.
Report an issue | ||
<< optimsimplex_setx | Simplex | optimsimplex_size >> |