external
объект Scilab'а, внешняя функция или подпрограмма
Описание
Внешняя функция или подпрограмма для использования со специальными командами.
"external" -- это функция или подпрограмма, которая используется в качестве
аргумента некоторых примитивов высокого уровня (таких как ode
,
optim
, schur
...).
Последовательность вызова внешней функции или подпрограммы предписывается примитивом высокого уровня, который устанавливает аргументы данной внешней функции или подпрограммы.
Например, внешняя функция costfunc
является аргументом примитива
optim
(примитив оптимизации высокого уровня). Её последовательность
вызова должна быть:
[f,g,ind]=costfunc(x,ind)
и
optim
вызывается следующим образом:
optim(costfunc,...)
Здесь costfunc
(функция цены должна быть минимизирована примитивом
optim
) вычисляет f=f(x)
и g
--
градиент f
в x
(ind
-- целое
число. Его использование уточняется в справке по optim
).
Если необходимы другие значения для внешней функции, то эти переменные могут быть определены в её окружении. Также они могут быть вложены в список. Например, внешняя функция:
[f,g,ind] = costfunc(x,ind,a,b,c)
является корректной для optim
, если внешняя функция является списком
list(costfunc,a,b,c)
и тогда вызов optim
:
Внешняя подпрограмма может быть процедурой Fortran или C: это удобно для быстрых вычислений.
Имя подпрограммы указывается примитиву высокого уровня в виде символьной строки. Последовательность подпрограммы также предписывается.
Внешние процедуры Fortran или C могут быть также динамически связаны (см.
link
).
Смотрите также
Report an issue | ||
<< clearfun | Встроенные и внешние | funptr >> |