如何在Python中运行用户输入MATLAB函数
根据中给出的示例,我们可以调用一个MATLAB文件如何在Python中运行用户输入MATLAB函数,python,python-3.x,matlab,matlab-compiler,Python,Python 3.x,Matlab,Matlab Compiler,根据中给出的示例,我们可以调用一个MATLAB文件 trirea.m来自python脚本,如下所示: import matlab.engine eng = matlab.engine.start_matlab() eng.triarea(nargout=0) 如果我们在Python中有一个由用户输入的MATLAB文件名的变量, 文件名='triarea' 那么 返回错误 MatlabExecutionError:输入的未定义函数“文件名” 类型为“double”的参数 如何在Python中运行
trirea.m
来自python脚本,如下所示:
import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)
如果我们在Python中有一个由用户输入的MATLAB文件名的变量,
文件名='triarea'
那么
返回错误
MatlabExecutionError:输入的未定义函数“文件名”
类型为“double”的参数
如何在Python中运行用户输入MATLAB函数
在我的实际问题中,文件名是在实例化类的对象时输入的,并存储为对象属性。然后对象的一个方法调用这个MATLAB文件。您可以将Python的f字符串和eval组合起来 在本例中,直接使用函数名的示例如下:
eng.plot(eng.magic(4))
将变量名计算为函数名的示例:
file_name = 'plot'
eval(f'eng.{file_name}(eng.magic(4))')
您可以将Python的f字符串和eval组合起来 在本例中,直接使用函数名的示例如下:
eng.plot(eng.magic(4))
将变量名计算为函数名的示例:
file_name = 'plot'
eval(f'eng.{file_name}(eng.magic(4))')
您可以使用内置函数
getatr
如下:
您可以使用内置函数
getatr
如下:
谢谢。这对我很有吸引力。我不知道这个功能。非常感谢。这对我很有吸引力。我不知道这个功能。