Dear matlab users after I write m file script and run ,it work correctly but when I try open for additional work ,I got different characters .How can open it ? Thank you.

Dear MATLAB users after I write m file script and run ,it work correctly but when I try open for additional work ,I got different characters .How can open it ? Thank you.

3 Comments

I don't understand what you mean by "got different characters", sorry. Can you attach the file and show us the problem?
Thank you very much for your response. When I open the file I got this at the first line. except this line the other lines corrupted and unreadable characters appear. 'MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Sun Aug 12 22:34:26 2018 '
If you want to open a MAT-file, use this one:
A = open('filename.mat');
Or, A = open('fullpath\filename.mat');
fullpath: is MAT-file's path.

Sign in to comment.

Answers (2)

Did you use "clear" at the first line of your code?
Or, another probability is: You added a folder into MATLAB path,that you have another function with the same name in that.

3 Comments

Thank you very much Sir for your response. I didn't use "clear" at the first line of my code. The second probability you mention is right. So how can I open it? please help me Sir. Thank you very much again.
This is not an m-file. It appears to be a .mat file. Kelil, please answer my questions below, and dpb's questions above so we can quit wasting time.

Sign in to comment.

If your function is called snafu.m, then do this on the command line:
>> which -all snafu
And you may have left over variables from a prior run still hanging around in memory that may be affecting your values on subsequent runs. So you might want to call clearvars before each run to clear those out.
And please answer dpb's question since I have no idea what you're asking either. And attach your script and any data files it needs to run.

3 Comments

If the comment above about adding the path and now having a function name the same as a .mat-file name, that really shouldn't matter as long as you treat a .mat file as a data file and the function file as a .m file.
Use save/load to write/read .mat files as data; only use edit to open m-files and save from within the editor.
As IA says, show the code and/or explain what you do when you see the above. Don't try to edit .mat files; they're not text but data.
Use
save('result.mat', 'comm_r');
to save the results as a .mat format file, not a text format m-file.
Then to recall the variable from the .mat file, do this
s = load('result.mat');
comm_r = s.comm_r;
The error seen could easily happen if you accidentally did a save giving the name of the .m file -- for example if you had done
save result.m -mat
If you had just done
save result
then MATLAB would know to use result.mat
Perhaps you used one of the figure menu items to save a figure and did not notice that you had accidentally selected the .m file as the output name.
If you did accidentally save a workspace over top of result.m then the result.m you had is gone, and you would need to recover it from backup (if you have one.) If you are fortunate you might have an autosaved version; see https://www.mathworks.com/company/newsletters/articles/automatically-save-backup-m-files-with-the-matlab-editor.html

Sign in to comment.

Asked:

on 18 Aug 2018

Edited:

on 18 Aug 2018

Community Treasure Hunt

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

Start Hunting!