Save a structure that is within a structure

27 vues (au cours des 30 derniers jours)
Matt
Matt le 7 Nov 2018
Commenté : Matt le 7 Nov 2018
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.

Réponse acceptée

Walter Roberson
Walter Roberson le 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 commentaire
Matt
Matt le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Produits


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by