Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: Français - Português - 日本語 - Русский

See the recommended documentation of this function

Scilab Help >> Optimization and Simulation > Simplex > optimsimplex_compsomefv

# optimsimplex_compsomefv

Computes the values of the function at vertices points.

### Syntax

```opt = optimsimplex_compsomefv(opt, fun, indices)
[opt, data] = optimsimplex_compsomefv(opt, fun, indices, 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)`
indices

A 1-by-m matrix of doubles, integers, positive, the indices of the vertices to compute (default `indices` = 1 to nbve, where nbve is the number of vertices).

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_compsomefv` function sets the values of the function at vertices points.

### Example

```function y=rosenbrock(x)
y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
endfunction
coords = [...
0.    0.
1.    0.
0.    2.
];
s1 = optimsimplex_new ( coords );
s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0]' );
s1 = optimsimplex_compsomefv(s1, rosenbrock, 1);
res1 = optimsimplex_getallfv ( s1 );
s1 = optimsimplex_compsomefv(s1, rosenbrock,2);
res2 = optimsimplex_getallfv ( s1 );
s1 = optimsimplex_compsomefv(s1, rosenbrock, 3);
res3 = optimsimplex_getallfv ( s1 );
disp(res1)
disp(res2)
disp(res3)

s1 = optimsimplex_destroy(s1);```