fileの読み書き
Fiff2MatFileで変換されたFiff fileはMatlabのbinary formatであるxxx.matの形で保存されています。
loadmatfile('drive:\target_folder.../xxx.mat'); // Scilabでmat fileの読み込み
とすればFiff fileの情報が読み込めます。尚//より右はコメント文です。
ファイル名、パス名がわからないときは
filename=xgetfile('*.mat') //拡張子がmatのみを選ぶ。
で選択し(保存ボタンを押す)、
loadmatfile(filename);
Matlab version 7以降では、データが圧縮してxxx.matとして保存されるようになり、Matlab 7以前やScilab 3.0では読めなくなっています。
Matlab version 7以降でデータを保存するには save -v6として保存してください。
とします。
Fiff2sciで変換されたFiff fileはScilabのbinary formatであるxxx.datの形で保存され、
load("drive:\target_folder.../xxx.dat"); //dat fileの読み込み
としてもFiff fileの情報が読み込めます。
ファイル名、パス名がわからないときは同様に
load(xgetfile('*.dat')); //拡張子がdatのみを選んで読み込む。
とします。
xgetfile() //MATLABと異なり、Scilabでは関数の後ろに()をつけた方が無難です。
だけだとすべてのファイルが表示されます。
またメニューバーからFile->Loadとし、
ファイルの種類をAll *.*として目的のxxx.datファイルを選択する方法もあります。
作成したxxx.datファイルを消去するには本来
mdelete('xxx.dat');//delete file(s) without confirmation
の筈なのですが壊れていて使えません。
変数と組み込まれた関数は
who();
で調べられます。
ユーザー変数だけ?を調べるには
who_user();
とします。
変数の属性を調べるには
whos();
とします。
実際の変数の意味はFiff2MatFileで変換したものと同一ですので
Fiff2MatFileの説明を参照ください。
evoked fiffを読み込んだとして
PCA=[PCA_0001,PCA_0002,...,PCA_0008]; // SSP情報
とし、配列PCAの大きさを調べるには、
size(PCA) // 配列PCAの大きさ
とし、returnすると
ans=
! 306. 8. !
と表示されます。306x8の配列という意味です。
もし
stack size exceeded! (Use stacksize function to increas it)
と表示された場合には
stacksize(3000000);
などとしてstacksizeを増やしてください。
RAM 1GBのMS-Windows XPではstacksizeは65,000,000以上は
!--error 112
Cannot allocate more memory
と表示され、stacksizeを増やすことはできませんでした。
ファイルの保存は
save('test.dat',PCA,ave_0001); //PCAとave_0001を保存
とします。ファイルtest.datにPCAとave_0001が保存されます。
MATLABのbinary fileとして保存するには
mtlb_save filename var1 var2 ....
とします。
但し、通常のMATLABのMAT-5形式対応でなく、MAT-4形式で保存されるため、
セル配列や構造体配列は保存できません。また
mtlb_loadという関数もありますが、MAT-4形式にしか対応していないためloadmatfile
を使うほうが安全です。
変数や組み込んだ関数を消去するのは
clear('PCA');
などとします。
clear();
だけですと、全ての変数・組み込んだ関数が消去されます。