Error using save: Error closing file

162 views (last 30 days)
Bert
Bert on 12 Oct 2011
Commented: Ankit Nag on 22 Jun 2023
Hey all,
An instance of a class is filled with a lot of data and than saved to my harddisk.
However, during saving, I get the following error: Error using save: Error closing file dummy.mat
I thought it had to do with a lack of memory, but I've monitored the process during saving and I never run out of RAM, and I know that I have plenty of space left on my harddisk.
Does anyone know what causes this error?
Any suggestions are much appreciated!
  1 Comment
Rafael Lopez Campos
Rafael Lopez Campos on 17 Dec 2020
Hi, I had the same problem. I was working my script in a external device, so I fixed it moving my environment in the same device Matlab is installed.

Sign in to comment.

Accepted Answer

Jared
Jared on 18 Oct 2011
Hi Bert,
I ran into the same error message a day or two ago with a struct filled with instances of classes that were similarly filled with lots of data. However, I could see in task manager that the memory use was in fact spiking.
The problem went away when I switched to version 7.3 format from version 7 (change file->preferences->general->MAT-Files or I think add flag '-v7.3' to save). This led me to believe that the memory problems might have had something to do with the form of compression done in mat files in version 7.
However, this does not solve another problem associated with save and load which might also cause some issues (it does for me). MATLAB uses lazy copying to conserve memory, i.e. A = B does not make a new copy of B until some part of A is later changed, e.g. perhaps A(end) = 1. Mat files appear to forget about all of these memory-saving relations, increasing both the size of the save files as well as the space required in memory once the save file is loaded.
Hope this helps! Jared
  16 Comments
Alejandro
Alejandro on 13 Feb 2023
Thanks a lot! This was extremely useful! Solved the same problem by using this method!
Ankit Nag
Ankit Nag on 22 Jun 2023
Is there any way to use -v7.3 and yet keep the file size reasonable. I am saving figures plotted from a large data set and faced this issue. I was able to solve it using v7.3 but I am trying to keep them at a manageable file size. Using -v7.3 seems to be doubling the figure's file size.

Sign in to comment.

More Answers (2)

Jonathan Pelham
Jonathan Pelham on 17 Feb 2015
I have had a similar error message. This is a very old q&a. Does anyone know if the answer is still valid?
  1 Comment
Ingo Schalk-Schupp
Ingo Schalk-Schupp on 21 Jul 2015
For me, this also did the trick. I was saving using the -v6 switch, and I got the error reproducibly. After I removed it, the error did not occur any longer.

Sign in to comment.


Zaki Mohzani
Zaki Mohzani on 7 Sep 2016
Ran into this error today. That error message should be updated to reflect the new 'v7.3' option.
  3 Comments
Henrique Costa
Henrique Costa on 5 May 2017
or, if you want compression : save('myFile.mat','-v7.3');
Adam Bruce
Adam Bruce on 18 Nov 2020
Edited: Adam Bruce on 18 Nov 2020
This still works on 2020a. Thanks!

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!