Calling user matlab functions from Python

I have 4 user created matlab functions "aaa.m, bbb.m, ccc.m and ddd.m" which are stored in a dictionary(dict) as values against keys.
eng = matlab.engine.start_matlab()
eng.addpath(Path)
for key in dict.keys()
matlabFileName = dict[key]
eng.matlabFileName(nargout=0)
eng.quit()
The above code gives the error "matlab.engine.MatlabExecutionError: Undefined function or variable 'matlabFileName'
How do i call a function from matlab engine when the function name is a VARIABLE.
Please help.

6 Comments

You can try the eval function instead.
By the way i am using python
Yes you can use the eval like
eng.eval(matlabFileName , nargout = 0)
Another option is described at the following link
Apologies for marking it urgent. New to python and matlab and have a delivery by tomorrow.
@Mohammad Sami, eval worked perfectly. Thank you.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!