Accessing variables in m file without executing it

5 次查看(过去 30 天)
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 个评论
Stephen23
Stephen23 2017-8-10
"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.).

请先登录,再进行评论。

采纳的回答

Jan
Jan 2017-8-10
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by