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 Commenti

You can try the eval function instead.
By the way i am using python
Mohammad Sami
Mohammad Sami il 30 Mar 2020
Modificato: Mohammad Sami il 30 Mar 2020
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.

Accedi per commentare.

Risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by