ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

MAT ファイルのバージョン

既定のバージョン

既定の設定では、関数 matfile による新規ファイル作成を除くすべての保存操作では、Version 7 の MAT ファイルが作成されます。既定の設定のオーバーライドは、以下の目的で行います。

  • 以前のバージョンの MATLAB® を使用してファイルにアクセスできるようにする。

  • Version 7.3 の MAT ファイルの機能 (64 ビット システム上の 2 GB 超のデータ項目、変数部の保存や読み込み) を利用する。

      メモ:   Version 7.3 MAT ファイルで使用される HDF5 ベースの形式には、ファイル内容を記述するためのオーバーヘッド ストレージが必要になります。複雑な入れ子のセルや構造体の配列があると、Version 7.3 の MAT ファイルは Version 7 の MAT ファイルよりも大きくなる場合があります。

  • 圧縮されていないデータの保存によって一部のファイルの読み込みと保存に要する時間を削減する。詳細は、「保存操作と読み込み操作の高速化」を参照してください。

既定の MAT ファイル バージョンの上書き

既定のバージョンを確認または変更するには、[ホーム] タブの [環境] セクションにアクセスし、 [設定] をクリックします。[MATLAB][一般][MAT ファイル] を選択します。または、関数 save の引数として MAT ファイルのバージョンを指定します。

たとえば、MATLAB Version 6 で読み込める myfile.mat という名前の MAT ファイルを作成するには、以下のコマンドを使用します。

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

次の表に、MAT ファイルの旧バージョンと現在のバージョンの違いを示します。

version の値読み込み可能な MATLAB のバージョンサポート機能
'-v7.3'7.3 (R2006b) 以降Version 7.0 の機能、64 ビット システムでの 2 GB 以上のデータ項目のサポート。
'-v7'7.0 (R14) 以降Version 6 の機能、データ圧縮および Unicode® 文字エンコード。Unicode エンコードにより、既定の文字コード スキームが異なるシステム間でのファイル共有が可能です。
'-v6'5 (R8) 以降Version 4 の機能、N 次元配列、セル配列と構造体、19 文字を超える変数名。
'-v4'all2 次元 double 配列、文字配列、およびスパース配列。

保存操作と読み込み操作の高速化

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

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

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

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

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

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

Version 6 の MAT ファイルでは圧縮は使用できません。Version 6 の MAT ファイルを作成するには、「既定の MAT ファイル バージョンの上書き」で説明する方法を使用してください。

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