La documentation relative à la save
indique qu'il faut supprimer les chiffres si l'on ne veut pas encombrer le système d'exploitation de la *.mat
fichier. I save
à un *.mat
périodiquement, et je réutilise ma figure après avoir émis des clf
. Je préférerais ne pas avoir à le supprimer juste pour save
a *.mat
puis ouvrir une nouvelle figure. Existe-t-il un moyen de faire cela ?
Réponse
Trop de publicités?Vous pouvez soit sauvegarder les variables que vous voulez explicitement lorsque vous appelez save
si vous connaissez toutes les variables que vous souhaitez sauvegarder.
save('output.mat', 'variable1', 'variable2', 'variable3');
Alternativement, si vous voulez sauvegarder toutes les variables de votre espace de travail qui ne sont pas poignées graphiques, quelque chose comme ça pourrait fonctionner :
% Get a list of all variables
allvars = whos;
% Identify the variables that ARE NOT graphics handles. This uses a regular
% expression on the class of each variable to check if it's a graphics object
tosave = cellfun(@isempty, regexp({allvars.class}, '^matlab\.(ui|graphics)\.'));
% Pass these variable names to save
save('output.mat', allvars(tosave).name)
Cela ne sauvegardera aucune figure (ni aucun objet graphique) et vous permettra également de les garder ouverts.