機能

Scilab使用例(1) -ファイルの読み書き-

  • 2020/08/12
  • WATANABE Tomoo
Scilab使用例(1) -ファイルの読み書き-

 色々なシチュエーションを想定し、使えそうなスクリプトをご紹介していきたいと思います。
 今回は「データのインポート/エクスポート」です。

 Scilabでデータプロセッシングを行うのであれば、データは1から作成するのではなくすでにExcelなりCSVなりの形式で用意されているのでは無いでしょうか。

 Scilabのデータ標準保存形式は.sod(Scilab Open Data)です。この形式であれば読み込み/保存は、load/saveで行います。

<Example>
d = rand(3,4,2);
b = d < 0.5;
i = int8((d-0.5)*100);
t = string(i);
s = sprand(3,5, 0.3);
save("TMPDIR/val.sod", "b", "i", "d", "t", "s");
clear d i b t s
load("TMPDIR/val.sod");
d, i, b, t, s

 TMPDIRはScilabを起動した際に自動で作成される一時ディレクトリなので任意の場所をフルパスで指定します。

 扱うフォーマットがCSVファイルだった場合にはcsvRead/csvWriteで行います

<Example>
// CSVファイル形式で行列を保存
M = [1:10] * 0.1;
filename = fullfile(TMPDIR, "data.csv");
csvWrite(M, filename);
// テキストとして読み込む
r = csvRead(filename);

 デフォルトでは全ての値を数値として読み込むので、文字列は'NaN'で返されますので注意してください。このあたりの取扱については次回述べたいと思います。

 Excel形式にも対応していますがv6.1.0現在は.xls形式のみなのでここでは省略します。

 Scilab内部或いウェブサイトでもヘルプを参照することは出来ますが、コマンド名からの検索するのもなかなか難しいこともありますので、逆引き辞典のように使えるようにしたいと思っています。