処理したい大きな.matファイルがありますが、単一の負荷に収まるには大きすぎます。私は、重要なパラメータにアクセスするたびに、それを部分的にロードすると考えました。実際には2つの質問があります:私のマシンのメモリには大きすぎる.matファイルの一部をどうやってロードできますか?
- マットファイルの変数名にアクセスするにはどうしたらいいですか?
- どのようにして1つだけをワークスペースにロードできますか?
ありがとう!
処理したい大きな.matファイルがありますが、単一の負荷に収まるには大きすぎます。私は、重要なパラメータにアクセスするたびに、それを部分的にロードすると考えました。実際には2つの質問があります:私のマシンのメモリには大きすぎる.matファイルの一部をどうやってロードできますか?
ありがとう!
あなたが使用して変数のリストを見ることができます:
load('name.mat', vars(1).name)
と同様にロード:
vars = whos('-file','name.mat');
をして、ちょうどあなたがしたい変数をロードするには、ことで、リストの最初のものを言います@natanによって提案されたように.matファイルの個々の変数を使用することができます。最近のバージョンのMATLABでは、matfile
オブジェクトを使用して個々の変数の一部のみを読み込むことができます。
したがって、たとえば、あなたが言うことができます。
myFile = matfile('path\to\the\mat\file');
loadedData = myfile.myVarName(100:200, 500:600);
を、あなたは、ファイルmyFile
から変数myVarName
の一部だけをでロードされます。
編集:あなたはあなたがビットをロードしようとする前に、ファイルが含まれている変数の名前とサイズを決定することができるように
matfile
オブジェクトは、メソッドsize
、who
とwhos
を持ってい
私はこれを見ていない、それは本当に知って良いです。 –
'matfile'は部分読み込み用のMATファイルv7.3(HDF5ベース)のみをサポートしていることに注意してください。それ以外の場合、変数全体の読み込みに戻ります。 – Amro
+1お知りになりたい... – bla