Saving figures in m-file

I am processing data and have several m-files at the time that I want to run and autosave .mat and .fig for the file.
I use following codes, like:
h(1) = figure
plot(x2,y2)
h(2) = figure
plot(x,y)
hold on
xlabel('x')
ylabel('log(y)')
save(mfilename)
savefig(h,[mfilename,'plots.fig']);
close(h)
It works fine the first time I run it. When I then go to a second .m file using same code I get the folioing error:
Error using savefig (line 33)
H must be an array of handles to valid figures.
Any idea what is wrong?

2 commentaires

Joseph Cheng
Joseph Cheng le 29 Sep 2014
when you run the second m file are the figures still open? I see that in the fist one's example you close(h). if you do not reassign h then there isn't anything to save.
Lizan
Lizan le 29 Sep 2014
Yes, I found what the error was, The problem was that I had forgot to assign one of the plots a h value so therefore the array was wrong.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Printing and Saving dans Centre d'aide et File Exchange

Question posée :

le 29 Sep 2014

Commenté :

le 29 Sep 2014

Community Treasure Hunt

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

Start Hunting!

Translated by