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.
Show older comments
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
dpb
on 18 Aug 2018
I don't understand what you mean by "got different characters", sorry. Can you attach the file and show us the problem?
Kelil Mohammed
on 18 Aug 2018
Amir Xz
on 18 Aug 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.
Answers (2)
Amir Xz
on 18 Aug 2018
0 votes
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
Kelil Mohammed
on 18 Aug 2018
Kelil Mohammed
on 18 Aug 2018
Image Analyst
on 18 Aug 2018
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.
Image Analyst
on 18 Aug 2018
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
dpb
on 18 Aug 2018
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.
Image Analyst
on 18 Aug 2018
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;
Walter Roberson
on 18 Aug 2018
Edited: Walter Roberson
on 18 Aug 2018
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
Categories
Find more on Logical 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!