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 件のコメント

Mohammad Sami
Mohammad Sami 2020 年 3 月 30 日
You can try the eval function instead.
JSO CI Team Veoneer
JSO CI Team Veoneer 2020 年 3 月 30 日
By the way i am using python
Mohammad Sami
Mohammad Sami 2020 年 3 月 30 日
編集済み: Mohammad Sami 2020 年 3 月 30 日
Yes you can use the eval like
eng.eval(matlabFileName , nargout = 0)
Another option is described at the following link
JSO CI Team Veoneer
JSO CI Team Veoneer 2020 年 3 月 30 日
Apologies for marking it urgent. New to python and matlab and have a delivery by tomorrow.
JSO CI Team Veoneer
JSO CI Team Veoneer 2020 年 3 月 30 日
@Mohammad Sami, eval worked perfectly. Thank you.

サインインしてコメントする。

回答 (0 件)

カテゴリ

タグ

質問済み:

2020 年 3 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by