Accessing variables in m file without executing it

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

"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

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)

Asked:

on 10 Aug 2017

Answered:

Jan
on 10 Aug 2017

Community Treasure Hunt

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

Start Hunting!