外部ファイル記述

概要

関数を外部ファイルに記述して、scilab実行環境に読み込む。

バージョン

Scilab 5.3

ファイル拡張子

拡張子 用途
sci 関数(マクロ)を記述
sce スクリプト(一連の処理)を記述

(※ howto/Create a toolbox - Scilab WikiのDefinitions-Script/Macros参照)

関数読み込み(sci)

  exec(path, -1); // pathはsciファイルパス

詳しくは、http://www.ecl.hiroshima-u.ac.jp/~ohno/scilab/man/ja/programming/exec.htmを参照。
※ 関数読み込み関数としては、getfというものもあるのだが、Scilab5.3には入ってないっぽいので、execを使うように。

プログラム

// 巾乗プログラム
// ファイル名をtestSci.sciとする
function [y] = mypow(x, n)
  y = x^n
endfunction;

scilabのコンソールで以下を実行

-->exec('testSci.sci' , -1);funcprot(0);
-->mypow(2,2)
 ans  =
 
    4.  

※ funcprot(0):同じ関数を2度読み込もうとすると警告文がでるので、警告文を出さないようにする。(初回の場合は不要)
http://www.ecl.hiroshima-u.ac.jp/~ohno/scilab/man/ja/functions/getf.htmによるとexecによる関数読み込みの場合は、プログラムがendfunctionで終わっている必要があるようだ。

スクリプト読み込み(sce)

// ファイル名をtestSce.sceとする
exec('testSci.sci', -1);
funcprot(0);
y = mypow(2, 2);
mypow(y, 2)

Scilabのコンソールで以下を実行

-->exec('testSce.sce', 0)
 ans  =
 
    16.