在Python中启动MATLAB引擎,必须首先为Python包安装引擎API。MATLAB提供一个标准的Python安装文件setup.py来创建和安装该引擎。使用同样的setup.py命令,可以在Windows, Mac或Linux系统上安装该引擎。
安装MATLAB包,要求MATLAB版本R2014b以上,需要将包含Python解释器的目录添加到路径中。在MATLAB命令窗口键入matlabroot,复制matlabroot返回的路径。
在Windows系统上,以管理员模式打开PowerShell命令提示符窗口,进入到setup.py所在目录,然后输入下面的语句执行安装。
cd "matlabroot\extern\engines\python"
python setup.py install
其中,matlabroot为MATLAB的安装路径。注意上面斜杠的方向是不同的。
安装完成后,就可以开始使用该引擎。在Python IDLE Shell窗口输入下面的语句,导入MATLAB引擎。
code.python
>>> import matlab.engine
继续输入下面的语句启动引擎。
code.python
>>> eng=matlab.engine.start_matlab()
可以运行多个引擎。
code.python
>>> eng1=matlab.engine.start_matlab()
>>> eng2=matlab.engine.start_matlab()
处理完成后,调用exit或quit函数退出。
code.python
>>> eng.quit()
如果退出Python时,引擎仍然运行,Python会自动停止引擎和它的MATLAB进程。
启动MATLAB引擎时可以指定一些启动选项,在启动引擎时实现一些其他的效果。例如,下面启动带桌面窗口的MATLAB。
code.python
>>> eng=matlab.engine.start_matlab("-desktop")
可以在一个字符串中定义多个启动选项。例如,下面启动桌面并将数值显示格式设置为短整型。
code.python
>>> eng=matlab.engine.start_matlab("-desktop -r 'format short'")
也可以在启动引擎以后启动桌面。
code.python
>>> import matlab.engine
>>> eng=matlab.engine.start_matlab()
>>> eng.desktop(nargout=0)
可以异步启动引擎。MATLAB启动以后,在Python命令行输入以下命令。
code.python
>>> import matlab.engine
>>> future=matlab.engine.start_matlab(async=True)
创建MATLAB的实例,这样就可以在MATLAB中进行计算。
code.python
>>> eng=future.result()