Save a structure that is within a structure

25 views (last 30 days)
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.

Accepted Answer

Walter Roberson
Walter Roberson on 7 Nov 2018
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')
  1 Comment
Matt
Matt on 7 Nov 2018
Apologies for my jumbled code. "Car" in code block 2 should have been "UserData" for continuity.
Thanks for your answer. I noticed that the parent structure isn't a scalar structure array, so I will have to go with the first solution - which I have already done incidentally.

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Products


Release

R2015a

Community Treasure Hunt

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

Start Hunting!