24

公式ドキュメントには次のように記載されています。

ここに画像の説明を入力. しかし、上記の表に記載されている以外にも重要な違いがあることに気付きました。

たとえば、 MATLAB で176 MBのメモリを占有する約 6,000 要素の cell 配列を保存すると、 -v7または-v7.3のどちらを使用するかに応じて、次の結果が得られます。

  • -v7の場合: ファイル サイズ = 15 MB、保存と読み込みが高速です。
  • -v7.3の場合: ファイル サイズ = 400 MBで、保存と読み込みが非常に 遅い(おそらくファイル サイズが大きいため)。

他の誰かがこれらの違いに気づいたことがありますか?

更新 1 : 返信が指摘するように、-v7.3は HDF5 に依存しており、Mathworks によれば、「この形式にはかなりのストレージ オーバーヘッドがあります」 。代わりに HDF5 の実装と処理。

更新 2 : @Andrew Janke は、この非常に役立つ PDF (Web では HTML 形式で利用できないようです) を教えてくれます。詳細については、@Amro が提供する回答のコメントを参照してください。

これはすべて、次の質問につながります。両方の長所を組み合わせた代替手段はありますか(たとえば、 -v7 の効率と-v7.3の非常に大きなファイルを処理する機能) ?

4

1 に答える 1

11

バージョン 7.3 の MAT ファイルは HDF5 形式を使用します。この形式では、ファイルの内容を記述するための大きなストレージ オーバーヘッドがあり、特に複雑な入れ子になった cellarray と構造体の場合はそうです。以前のバージョンの MAT ファイルに対する主な利点は、64 ビット システムで 2GB を超えるデータを保存できることです。

v7 と v7.3 はどちらも圧縮されており、(v6 とは異なり) Unicode エンコーディングを使用していますが、2 つの完全に異なる形式であることに注意してください...

参考文献:

于 2011-02-10T15:51:01.107 に答える