MATLAB Function Reference | ![]() ![]() |
グラフィカルインタフェース
関数 save
の別な使用法としては、コマンドウインドウの ワークスペースブラウザ(Workspace browser) の ファイル(File) メニューから 別名でワークスペースを保存(Save Workspace As) を選択する方法です。
表示
save save filename save filename var1 var2 ...save ...
option
save('filename', ...)
詳細
save
自身で、すべてのワークスペース変数をバイナリフォーマットで、カレントディレクトリに、matlab.mat
と名付けたファイルに保存します。load
を使って、データを読み込みます。MAT-ファイルは、倍精度、バイナリの MATLAB フォーマットファイルです。これらは、マシン上に作ることができ、後で、他のマシン上にMATLAB を使って、使用可能なフォーマットとして、同様な精度、レンジで、異なる浮動小数点フォーマットで、読み込むことができます。これらは、他のプログラムを使って、MATLAB の外への拡張することができます。
save filename
は、カレントディレクトリのすべてのワークスペース変数を、filename.mat
にストアします。他のディレクトリに保存するために、filename
に対する絶対パスを使用してください。
save filename var1 var2 ...
は、指定したワークスペース変数のみを、filename.mat
にセーブします。*
ワイルドカードを使って、指定したパターンと一致する変数のみをセーブすることもできます。たとえば、save('A*')
は、A
で始まるすべての変数をセーブします。
save
は、 ...
option
option
で指定されるフォーマットで、ワークスペース変数をセーブします。
ASCII フォーマットでセーブされる変数は、ASCII ファイル名をもつ単一変数にまとめられます。そのために、一度に一つの変数のみしかセーブされません。ASCII フォーマットを使って、複数の変数をセーブする場合、filename
と名付けたファイルをロードすると、filename
と名付けた単一のワークスペース変数になります。すなわち、個々の変数へのアクセスは、コロン演算子を使います。
v4
フラグを使って、MATLAB 4 と互換性をもつデータ構造でセーブできます。そのため、構造体、セル配列、多次元配列、オブジェクトをセーブすることはできません。加えて、MATLAB バージョン 4でサポートされているファイル名を使う必要があります。
キーワード -ascii
を使って、複素数データを保存する場合、データの虚部は失われます。これは、MATLAB が数値データでない('i'
)をロードできないからです。
save('filename', ...)
は、関数型をしたシンタックスです。
ファイルフォーマットに関するコントロールに関して、MATLAB は、参考 に示す他の関数も用意しています。
アルゴリズム
save
で使用するバイナリフォーマットは、各配列のサイズ、タイプに依存します。非整数の配列や10000よりも少ない要素数をもつ配列は、実数要素に対して、8ビットをもつ浮動小数点フォーマットでセーブされます。すべてが整数要素で、かつ、10000以上の要素をもつ配列は、各要素について数ビットしか必要としない、つぎに示すフォーマットでセーブされます。
要素の範囲
要素単位のビット数
0 から 255 まで
1
0 から 65535 まで
2
-32767 から 32767 まで
2
-231+1 から 231-1 まで
4
その他
8
MATLAB との外部インタフェース では、外部 C や Fortran プログラムからMAT-ファイルを読み込んだり、書き出したりすることに関する詳細を記述しています。これらに関しては、将来の変更も年頭に入れ、指定した MAT-ファイルフォーマットを使用するのではなく、推奨するアクセス手法を使用することが重要です。
例題
ワークスペースからすべての変数を、バイナリ M-ファイル test.mat
にセーブするには、つぎのように入力します。
save test.mat
変数 p
と q
を、バイナリ MAT-ファイル test.mat
に、セーブするには、つぎのように入力します。
savefile = 'test.mat'; p = rand(1,10); q = ones(10); save(savefile,'p','q')
変数 vol
と temp
を、ASCII フォーマットで、ファイル名
june10
に、セーブするには、つぎのように入力します。
save('d:\mymfiles\june10','vol','temp','-ASCII')
参考
diary
, fprintf
, fwrite
, load
, workspace
![]() | rsf2csf | saveas | ![]() |