質問

I have a big .mat file that I want to process, but it is too big to fit in a single load. I thought to load it in parts, each time to access just the important parameters. So I have practically two questions:

  1. How can I access the variables names of the mat file without loading it?
  2. How can I load only one of them to the workspace?

Thanks!

役に立ちましたか?

解決

you can see the list of variables using:

vars = whos('-file','name.mat');

and then just load the variable you want, say the first one on the list, by:

load('name.mat', vars(1).name)

他のヒント

As well as loading individual variables from the .mat file as suggested by @natan, in recent versions of MATLAB you can use a matfile object to load in only parts of an individual variable.

So for example, you can say:

myFile = matfile('path\to\the\mat\file');
loadedData = myfile.myVarName(100:200, 500:600);

and you will load in only a portion of the variable myVarName from the file myFile.


Edit:

The matfile object also has methods size, who and whos, so that you can determine the names and sizes of the variables that the file contains before you attempt to load bits in.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top