Main Content

MAT ファイルのバージョン

MAT ファイルのバージョンの概要

MAT ファイルは、ワークスペース変数を格納するバイナリの MATLAB® ファイルです。MAT ファイルには Version 4 から複数の後続バージョンがあり、サポートされる機能が増えています。MATLAB リリース R2006b 以降では、すべてのバージョンの MAT ファイルがサポートされます。

既定では、すべての保存操作で Version 7 の MAT ファイルが生成されます。唯一の例外は、関数 matfile を使用して新しい MAT ファイルを作成する場合です。この場合、既定の MAT ファイルのバージョンは 7.3 になります。

既定の MAT ファイルのバージョンを確認または変更するには、MAT ファイル基本設定にアクセスします。

  • [ホーム] タブの [環境] セクションで [基本設定] をクリックします。

  • [MATLAB][一般][MAT ファイル] を選択します。

ここの基本設定は、関数 save[保存] メニュー オプションの両方に適用されます。

MAT ファイルの最大サイズは、ネイティブのファイル システムよってのみ制約されます。

次の表は MAT ファイルのすべてのバージョンとその比較です。

MAT ファイルのバージョンサポートされる MATLAB リリースサポート機能圧縮各変数の最大サイズ関数 saveversion 引数の値基本設定オプション
Version 7.3R2006b (Version 7.3) 以降

変数の一部の読み込みまたは保存、および Version 7 のすべての機能

あり (既定値)64 ビット コンピューターで 2 GB 以上'-v7.3'MATLAB Version 7.3 以降
(-v7.3 形式で保存)
Version 7R14 (Version 7.0) 以降

既定の文字エンコード スキームが異なるシステム間でファイル共有を可能にする Unicode® 文字エンコード、および Version 6 のすべての機能

あり (既定値)1 変数あたり 2^31 バイト '-v7'MATLAB Version 7 以降
(-v7 形式で保存)
Version 6R8 (Version 5) 以降

N 次元配列、cell 配列、構造体配列、長さが 19 文字を超える変数名および Version 4 のすべての機能

なし1 変数あたり 2^31 バイト '-v6'MATLAB Version 5 以降
(-v6 形式で保存)
Version 4すべて

2 次元の double 配列、文字配列およびスパース配列

なし1 配列あたり 100,000,000 要素、1 変数あたり 2^31 バイト'-v4'N/A

メモ

Version 7.3 MAT ファイルで使用される HDF5 ベースの形式には、ファイル内容を記述するためのオーバーヘッド ストレージが必要になります。cell 配列、構造体配列または異種混合のデータ型を格納できるその他のコンテナーの場合、Version 7.3 の MAT ファイルは Version 7 の MAT ファイルよりも大きくなることがあります。

既定の MAT ファイル バージョン以外への保存

次を行いたい場合、MAT ファイルを既定のバージョン以外のバージョンで保存します。

  • 以前のバージョンの MATLAB を使用したファイルへのアクセスを可能にする。

  • Version 7.3 の MAT ファイルの機能を利用する。

  • 非圧縮データの保存により、一部ファイルの読み込みおよび保存に要する時間を削減する。

  • 圧縮データの保存により、一部ファイルのサイズを削減する。

既定バージョン以外の MAT ファイル バージョンに保存するには、version を関数 save の最後の入力として指定します。たとえば、myfile.mat という名前の Version 6 の MAT ファイルを作成するには、以下を入力します。

save('myfile.mat','-v6')

データ圧縮

MATLAB では Version 7 からストレージ スペースを節約するために、MAT ファイルへの書き込みの際にデータが圧縮されるようになりました。データの圧縮と解凍によって、すべての保存操作と一部の読み込み操作は遅くなります。ほとんどの場合、ファイル サイズが減少するため、より多くの時間を費やすだけの意義があります。

場合によっては、実際に、圧縮データを読み込むほうが解凍データを読み込むよりも "速く" なることがあります。たとえば、数値配列のデータ ブロックが、10 MB の圧縮ファイルと 100 MB の圧縮されていないファイルの両方に保存されている場合を考えます。最初の 10 MB の読み込みには、両方のファイルで同じ時間がかかります。圧縮されていないファイルからの残りの 90 MB の読み込みには、最初の 10 MB の読み込みの 9 倍の時間がかかります。圧縮ファイルの読み込みの完了には、データの解凍と比較しても短い時間しか必要としません。

データ圧縮の利点は、以下のような場合にはほとんどありません。

  • 各項目のデータ量が、そのコンテナーの複雑さに比べて小さい。たとえば、単純な数値配列は、同じサイズの cell 配列や構造体配列よりも圧縮と解凍に時間がかかりません。解凍時のファイル サイズが 3 MB 未満となる配列の圧縮の場合、ネットワークでデータを転送しない限り、その利点は限定的なものとなります。

  • データがランダムで、繰り返しパターンや一貫した値がない。

Version 7.3 MAT ファイルの保存と読み込みの高速化

Version 7.3 のMAT ファイルは、データを圧縮チャンクに格納する HDF5 ベースの形式を使用します。Version 7.3 の MAT ファイルから変数部を読み込むための所要時間は、1 つ以上のチャンクにデータがどのように格納されているかによって異なります。データにアクセスするには、読み込むデータ部分を含む各チャンクを完全に非圧縮状態にしなければなりません。データの再チャンク化により読み込み動作のパフォーマンスを改善することができます。データを再チャンク化するには、HDF5 の配布に含まれている HDF5 コマンド ライン ツールを使用します。

参考

|

関連するトピック