Main Content

ワークスペース変数の保存と読み込み

ワークスペースは、複数の 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(filename) を使用して変数を MAT ファイルから構造体に読み込んでいて、元の変数構造体を維持したまま新しい MAT ファイルに保存するときに便利です。

変数の一部を保存するには、関数 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 ファイルのバージョンを参照してください。

参考

|

関連するトピック