MATLAB Answers

0

Can corrupted m-files be fixed?

Asked by Ezz El-din Abdullah on 28 Jul 2017
Latest activity Commented on by Steven Lord
on 28 Jul 2017
Accepted Answer by Jan
I have recovered some of my m-files after formatting my partitions.
But sadly, found them corrupted. Is there anyway to fix them?
Thanks.
Edited: The code becomes like the attached image.

  10 Comments

If you haven't followed Stephens advice, take mine: at the very least have your working folder in dropbox/google drive/skydrive/whathever.
For your current problem: you could try with Notepad++ to play around with what encoding this might be in, although I fear this file is a loss. It looks more like what I would expect from a .mat file than an .m file.
Can you attach one of the m files for us to examine?
@Rik Wisselink, unfortunately Notepad++ does NOT solve the problem.
@Walter Roberson, I think it can't be retrieved.
Thank you all.

Sign in to comment.

Tags

No tags entered yet.

1 Answer

Answer by Jan
on 28 Jul 2017
 Accepted Answer

No. If any byte has been lost in an M or MAT file, the contents is destroyed and cannot be recreated with a 100% reliability. If the files have been lost due to a crashed hard disk, I would not even trust in files which look fine on first view. To control this, I store an MD5 checksum in each of my M-files.
The solution is to restore the files from the last backup. All changes since the last backup are lost. If you do not have a backup: Sorry. There is no magic way to reinvent the destroyed data. It is hard, but the general rule is:
All files without a current backup are not important.
Sometimes professional services can save data from crashed hard disks. This costs about 500 to 1500 US$ and the success is not guaranteed.

  2 Comments

I wonder how I can make a backup?
Do you mean intuitively to save my files into other place? like in the cloud.
One quick way to make a backup, as Rik Wisselink suggested, is to copy your files to Dropbox, Google Drive, etc. or even to a USB key periodically.
You could use MATLAB Drive Connector to upload your files to MATLAB Drive.
If you're using release R2014b or later, a more sophisticated way to back up your code (and allow you to go back to any previous version you've checked in) would be to use the source control integration functionality included in MATLAB to make a Subversion or Git repository.

Sign in to comment.