Clear Filters
Clear Filters

Error on saving .fig files

50 views (last 30 days)
Susan
Susan on 10 Apr 2023
Edited: Susan on 12 Apr 2023
Hi All,
I have a nested for loop, and at the very last for loop, I plot the data and save them as a ".fig" in a folder. It works well for the first 7 figs but then gives me the error saying, "The file could not be closed and might now be corrupt." I ensure to close each figure after saving them out and don't get what this error is about. Any help would be appreciated.

Accepted Answer

Praveen Reddy
Praveen Reddy on 12 Apr 2023
Hi Susan,
I understand that you are encountering an error while trying to save plotted data in every iteration of a “for” loop as .FIG files in a directory . You can create a figure window before the for loop and make sure you clear the plot after saving the figure in each iteration. Attaching simple code snippet for your reference.
h=figure;
for i=1:5
x=linspace(i,i+10);
y=linspace(i+20,i+30);
plot(x,y);
saveas(h,sprintf('FIG%d.fig',i)); % will create FIG1, FIG2,...
clf(f);
end
The error you are facing could also be due to character encoding, which can be resolved in preferences. Go to Home>Preferences>General>MAT-Files and make sure that you have chosen “Version 7.0 or later” or “Version 7.3 or later”.
  1 Comment
Susan
Susan on 12 Apr 2023
Edited: Susan on 12 Apr 2023
@Praveen Reddy Thank you so much for the suggestions. They solved the issue :)

Sign in to comment.

More Answers (0)

Categories

Find more on Printing and Saving in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!