3 votes

Sauvegarder l'espace de travail Matlab sans sauvegarder ou supprimer les figures

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 ?

4voto

Suever Points 52199

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X