Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.0.0 - Português


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 — Solucionador de equações diferenciais ordinárias
  • optim — non-linear optimization routine
  • dae — Differential algebraic equations solver
  • intg — integral definida
  • schur — decomposição (ordenada) de Schur de matrizes e feixes
Report an issue
<< clearfun Built-in & external funptr >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 24 11:16:58 CEST 2024