How can I load a single variable from a structure?

81 views (last 30 days)
How can I load only one member of a structure contained with other variables in a MAT file, without loading any other members of the structure?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 2 Sep 2021
Edited: MathWorks Support Team on 8 Oct 2021
If you have many variables in a MAT file, among which the structure of interest is also contained, there is no way to load only a single member of this structure into the workspace. For example, consider the following contents in the MAT file "sample.mat":
var1
var2
var3
structureVar
where "structureVar" contains the following:
sVar1
sVar2
Say we would like to load only "sVar1" into our workspace from "sample.mat". Currently, there is no way to do this. This is described in the "Limitations" section of the "matfile" documentation.
A workaround is to save the structure as an independent MAT file, and load members of the structure as needed. This is documented in "Variables" section of the "save" documentation:
For example, save "structureVar" as "structureVarMatFile.mat" when it is in the workspace using the following command:
>> save('structureVarMatFile','-struct','structureVar');
Now, you can load only "sVar1" if needed, using the following command:
>> load('structureVarMatFile','sVar1');

More Answers (0)

Tags

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!