Warning to save when saving workspace.

13 vues (au cours des 30 derniers jours)
John
John le 13 Sep 2017
Commenté : Walter Roberson le 14 Sep 2017
For this code:
savename = sprintf('%s_%s.mat',fname1,fname2);
save(savename);
It produces a warning: "Warning: Figure is saved in C:\Data\R1\R32.mat. Saving graphics handle variables can cause the creation of very large files. To save graphics figures, use savefig."
The save actually worked and saved the workspace correctly as .mat. Changed to "save savename" it had the same warning.
Why's that? It's not a fig to save.
  1 commentaire
Rik
Rik le 13 Sep 2017
It is much better practice to save specific variables to your mat-file.
Probably you had a figure handle in your workspace, which then triggers this error.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 13 Sep 2017
When you do not tell save() which variables to save then it saves everything in your current workspace, including any graphics objects whose handles are in the current workspace. It is recommended that you tell save which variables you wish to save.
  2 commentaires
Rik
Rik le 14 Sep 2017
I don't understand why Mathworks enabled this in the first place. I can't come up with a valid scenario to want to do this. The closest thing I can come up with is a debugging scenario, but then you can just use breakpoints or an inline call to dbstop.
Walter Roberson
Walter Roberson le 14 Sep 2017
Potentially you might have a large number of variables and need to "checkpoint" the calculation.
Or simply that you might need to log off for the day and you want to preserve your state so you can resume the next day.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by