ワークスペース変数の保存と読み込み
ワークスペースは、複数の MATLAB® セッション間で保持されません。MATLAB を終了すると、ワークスペースは消去されます。ただし、現在のワークスペースにある任意またはすべての変数を MAT ファイル (.mat
) に保存できます。現在の MATLAB セッション中または別のセッション中に、保存された MAT ファイルを読み込んで後からワークスペース変数を再利用できます。
ワークスペース変数の保存
ワークスペース変数を対話形式で保存するには、いくつかの方法があります。
すべてのワークスペース変数を MAT ファイルに保存するには、[ホーム] タブの [変数] セクションで、[ワークスペースの保存] をクリックします。
ワークスペース変数のサブセットを MAT ファイルに保存するには、ワークスペース ブラウザーで変数を選択し、右クリックして [名前を付けて保存] を選択します。選択した変数をワークスペース ブラウザーから現在のフォルダー ブラウザーにドラッグすることもできます。
変数を MATLAB スクリプトに保存するには、[ワークスペースの保存] ボタンをクリックするか、[名前を付けて保存] オプションを選択し、[名前を付けて保存] ウィンドウで、[ファイルの種類] オプションを [MATLAB スクリプト] に設定します。スクリプトに保存できない変数は、そのスクリプトと同じ名前の MAT ファイルに保存されます。
また、関数 save
を使用してワークスペース変数をプログラムにより保存することもできます。たとえば、現在のワークスペース変数をすべてファイル june10.mat
に保存するには、次のコマンドを使用ます。
save('june10')
A
および B
のみをファイル june10.mat
に保存するには、次のコマンドを使用します。save('june10','A','B')
スカラー構造体のフィールドを個々の変数として保存するには、関数 save
を -struct
オプションと共に使用します。これは、以前に構文 S = load(
を使用して変数を MAT ファイルから構造体に読み込んでいて、元の変数構造体を維持したまま新しい MAT ファイルに保存するときに便利です。filename
)
変数の一部を保存するには、関数 matfile
を使用します。これは、大きすぎてメモリに収まらない非常に大きなデータ セットを使用している場合に役に立ちます。詳細については、MAT ファイルへの変数の一部の読み込みと保存を参照してください。
MATLAB Online™ では、変数がセッション間で保持されます。保存を行うと、ワークスペースをクリアして、変数を後で読み込むことができるようになります。変数を保存するには、関数 save
または matfile
を使用します。
ワークスペース変数の読み込み
MAT ファイルからワークスペースに保存済み変数を読み込むには、現在のフォルダー ブラウザーで MAT ファイルをダブルクリックします。
[ホーム] タブで MAT ファイルから変数のサブセットを読み込むには、[変数] セクションで、[データのインポート] をクリックします。読み込む MAT ファイルを選択し、[開く] をクリックします。また、選択した MAT ファイルの現在のフォルダー ブラウザーの [詳細] パネルからワークスペース ブラウザーに必要な変数をドラッグすることもできます。MATLAB Online では、ファイル ブラウザーで MAT ファイルの右にある [プレビュー] ボタン をクリックし、目的の変数をプレビューからワークスペース パネルにドラッグすることもできます。
MATLAB スクリプトに保存されている変数をワークスペースに読み込むには、スクリプトを実行するだけです。
また、保存した変数をプログラムで読み込み、関数 load
を使用することもできます。たとえば、ファイル durer.mat
からすべての変数を読み込むには、次のように指定します。
load('durer')
durer.mat
から変数 X
および map
を読み込むには、以下を実行します。load('durer','X','map')
変数の一部を読み込むには、関数 matfile
を使用します。これをしない限り、大きすぎてメモリに収まらなくなる、非常に大きいデータ セットを使用する場合に便利です。詳細については、MAT ファイルへの変数の一部の読み込みと保存を参照してください。
注意
MATLAB ワークスペースにデータを読み込むと、新たに作成する変数により、ワークスペースにある同名の既存の変数はすべて上書きされます。既存の変数が上書きされないようにするには、関数 load
を使用して変数を構造体に読み込みます。たとえば、S = load('durer')
はファイル durer.mat
からのすべての変数を構造体 S
に読み込みます。
MAT ファイルの内容の表示
MAT ファイルをワークスペースに読み込む前にファイル内の変数を確認するには、現在のフォルダー ブラウザーでファイル名をクリックします。変数の情報が [詳細] ペインに表示されます。
あるいは、whos
-file
filename
コマンドを使用します。この関数により、指定した MAT ファイルに含まれるすべての変数の名前、次元、サイズ、およびクラスが返されます。たとえば、例のファイル durer.mat
の内容を表示できます。
whos -file durer.mat
Name Size Bytes Class Attributes X 648x509 2638656 double caption 2x28 112 char map 128x3 3072 double
ここでのバイト数は、MATLAB ワークスペースに読み込まれたときにデータがメモリで占めるバイト数を表します。圧縮、データ エンコード、メタデータが原因で、ファイル内で変数が占める領域はインメモリ サイズと異なる場合があります。MATLAB では、Version 7 以降の MAT ファイルでデータが圧縮されます。詳細については、MAT ファイルのバージョンを参照してください。