MATLAB: Save a structure that is within a structure

MATLABsavestructure within structure

I am trying to save a structure called UserData that is in the handles structure – used in my GUI.
So far I can only save it if I create a copy outside of the handles structure.
UserData = handles.UserData
save(FullPath,UserData)
Is there a way to do it with simply the save function? Something like this:
save(FullPath, handles.'Car')
If there is I have not found the correct syntax to do so.

Best Answer

You can save a structure from within a structure only in the very limited case that the parent structure is a scalar structure array and that all fields within the parent structure are to individually become variables in the mat file. The handles structure is a scalar structure so it meets the first requirement but it is quite unlikely that you want to save all parts of it to become individual variables.
It is likely that you will need to save the content of the substructure to a variable and then save the variable.
Car = handles.Car;
save(FullPath, 'Car')
The one exception I mentioned would look like
save(FullPath, '-struct', 'handles')
Related Question