external
Scilabオブジェクト, 外部関数またはルーチン
説明
特定のコマンドで使用する外部関数またはルーチン.
"external" は,
(ode
, optim
, schur
...
のような)
いくつかの高レベルプリミティブの引数として使用される
関数またはルーチンです.
external (関数またはルーチン)の呼び出し手順は, external の引数を設定する高レベルプリミティブにより 規定されています.
例えば, 外部関数 costfunc
は,
optim
プリミティブの引数です.
その呼出し手順は次のようになります: [f,g,ind]=costfunc(x,ind)
そして optim
(高レベル最適化プリミティブ)は
以下のようにコールされます
optim(costfunc,...)
ここで, costfunc
(評価関数はプリミティブ
optim
により最小化されます)は,
f=f(x)
およびx
における
f
の傾きg
を評価します
(ind
は整数です. その使用法は
optim
ヘルプに詳述されています).
その他の値が外部関数により必要とされる場合, これらの変数をその環境において定義することができます. また, 外部関数をリスト内に置くことができます. 例えば,外部関数
[f,g,ind]=costfunc(x,ind,a,b,c)
は, external が
list(costfunc,a,b,c)
の場合,
optim
に適用できます.
そして, optim
へのコールは
以下のようになります:
externalはFortranまたはCルーチンとすることもできます: これは計算を高速化するために有用です.
ルーチンの名前は文字列として高レベルプリミティブに 指定することができます. このルーチンの呼び出し手順も規定されています.
外部FortranまたはCルーチンも動的にリンクできます
(link
参照).
参照
Report an issue | ||
<< clearfun | Built-in & external | funptr >> |