# external

objeto Scilab, função ou rotina externa

## Descrição

Função ou rotina externa para uso com comandos específicos.

Uma "external" é uma função ou rotina que é usada como argumento em algumas primitivas de alto nível (tais como `ode`, `optim`, `schur`...).

A seqüência de chamamento da "external" (função ou rotina) é imposta pela primitiva de alto nível que configura os argumentos da external.

Por exemplo, a função externa costfunc é um argumento da primitiva optim . Sua seqüência de chamamento deve ser: `[f,g,ind]=costfunc(x,ind)` e `optim` (a primitiva de otimização de alto nível) é invocada como segue:

    optim(costfunc,...)

Aqui `costfunc` (a função de custo a ser minimizada pela primitiva `optim`) avalia `f=f(x)` e `g=` gradiente de `f` em `x` (`ind` é um inteiro. Seu uso é esclarecido na ajuda de `optim`).

Se a função externa necessita de outros valores, estas variáveis podem ser definidas em seu ambiente. Elas também podem ser colocadas em uma lista. Por exemplo, a função externa

    [f,g,ind]=costfunc(x,ind,a,b,c)

é válida para `optim` se o external (função externa) é `list(costfunc,a,b,c)` e a chamada a `optim` é, então:

    optim(list(costfunc,a1,b1,c1),....

Um external também pode ser uma rotina FORTRAN ou C: isto é conveniente para acelerar computações.

TO nome da rotina é fornecido para a primitiva de alto nível como um string. A seqüência de chamamento da rotina também é imposta.

Rotinas FORTRAN ou C podem ser dinamicamente linkadas ("ligadas, conectadas") (ver `link`)

## Ver Também

- ode
- optim
- impl
- dassl
- intg
- schur
- gschur