ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

MAT ファイルのバージョン

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

MAT ファイルは、ワークスペース変数を格納するバイナリの MATLAB® ファイルです。既定の設定では、関数 matfile による新規ファイル作成を除くすべての保存操作では、Version 7 の MAT ファイルが作成されます。matfile を使用して新しい MAT ファイルを作成する場合、既定の MAT ファイルのバージョンは 7.3 です。

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

既定の MAT ファイルのバージョンを確認または変更するには、MAT ファイル設定にアクセスします。[ホーム] タブの [環境] セクションで [設定] をクリックします。[MATLAB][一般][MAT ファイル] を選択します。ここの設定は、関数 save[保存] メニュー オプションの両方に適用されます。

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

バージョン読み込まれる MATLAB のバージョンサポート機能圧縮各変数の最大サイズ関数 saveversion 引数の値設定オプション
Version 7.37.3 (R2006b) 以降

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

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

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

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

N 次元配列、セル配列、構造体配列、長さが 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 ベースの形式には、ファイル内容を記述するためのオーバーヘッド ストレージが必要になります。セル配列、構造体配列または異なるタイプのデータ型を格納できるその他のコンテナーの場合、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 倍の時間がかかります。圧縮ファイルの読み込みの完了には、データの解凍と比較しても短い時間しか必要としません。

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

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

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

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

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

参考

|

この情報は役に立ちましたか?