Accessing variables in m file without executing it

5 views (last 30 days)
I have a .m file that will only run as part of a giant program. However, I want to access some variables in it without running this program. Is this possible?
  1 Comment
Stephen23
Stephen23 on 10 Aug 2017
"Is this possible?"
possible: yes.
good idea: no.
Basically you will have to write your own code parser. It would be better to write your code so that those variables are stored/saved somewhere more accessible (e.g. a .mat file, a CSV file, a function that defines parameter values, etc.).

Sign in to comment.

Accepted Answer

Jan
Jan on 10 Aug 2017
I agree with Stephen, but have a slughtly more pessimistic opinion:
No, it is not possible, at least not in the general case. You could parse the file and recognize some trivial definitions like:
a = 10;
But as soon as it gets more complex, you need a sophisticated parser. Of course you can create such a parser, but this would be a duplicate of Matlab. And even then the code must be interpreted to get all values, e.g. in:
a = 10;
b = a;
It is a good programming practice, to separate the processing, the gui and the data strictly. Instead of storing a bunch of values inside the function, a MAT file is much better, most of all if the data are needed anywhere else also.

More Answers (0)

Categories

Find more on Data Import and Analysis 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!