.matファイルにネストされたセルとして大量のデータが格納されています。私の最大の問題は、現在、これらのファイルにアクセスするための読み込み時間ですが、根本的な問題は私がデータを格納するための非効率的な方法を思いついたと思っています。MATLABでネストされたセルとして大量のデータが格納されているメモリの問題
完全なファイルは、セルARAYで構成されています:85のn
のバージョンとp
.Variable
の〜100バージョンまでがあるh
.{n,p}
の52のバージョンが存在する
Hemi{1,h}
ここには〜2500個の値を持つ10個の変数があります
このフルファイルは、私は別名、部品にそれを保存:
Hemi1.mat=Hemi{1,1}
Hemi2.mat=Hemi{1,2}
を等
このアプリケーションの次のステップは、各ファイルをロードし、適切な解決策であることの一部を決定することである(私は必要Hemi{1,h}.{n,p}.Var1
,Hemi{1,h}.{n,p}.Var2
、Hemi{1,h}.{n,p}.Var3
)、ソリューションを保存してからファイルを閉じて次の変数に移動する必要があります。
- これらのファイルを高速に読み込む方法はありますか?
- 問題は私のデータセットより少なく、私はそれをどのように保存するのですか?よりよい選択肢がありますか?
私はテーブルを持っていますが、私はそれらのスペースが少なくて済むとは確信していません。しかし、テーブル形式はeaxmpleのために 'datastore 'とより互換性がありますか?データはすべて倍精度の浮動小数点数です。私はそれらをすべて単精度にすることができると思いますか? – DYS
慎重に '仮定'して、精度を失うことがないことを知っている場合にのみ、単精度で保存してください!また、データを圧縮せずにすばやく保存/読み込む方法については、こちらを参照してください。https://uk.mathworks.com/help/matlab/import_export/mat-file-versions.html#br_4ten つまり、ディスクを購入する余裕があれば圧縮せずに巨大なファイルを保存するスペース! – Wolfie
Willのリンクから: "バージョン7.3のMATファイルは、データを圧縮されたチャンクに保存するHDF5ベースのフォーマットを使用します。バージョン7から変数の一部をロードするのに必要な時間。3 MATファイルは、データが1つ以上のチャンクにどのように格納されるかによって異なります。ロードするデータの一部を含む各チャンクは、データにアクセスするために完全に解凍されていなければなりません。データの再チャージは、ロード操作のパフォーマンスを向上させることができます。データを再解析するには、HDF5ディストリビューションの一部であるHDF5コマンドラインツールを使用してください。 – DYS