首页 > 解决方案 > 从 Python 运行 MATLAB 脚本

问题描述

我正在访问一个远程系统,启动 MATLAB 的方法是ssh在 ubuntu 终端上执行以下操作。

/media/data/software/matlab2018a/bin/matlab -nojvm -nodisplay -nosplash

它在不打开完整 GUI 的情况下打开了一个简单的 MATLAB vi 类界面。

/media/data/software/matlab2018a/bin/matlab是我的 MATLAB exe 文件的位置,-nojvm -nodisplay -nosplash基本上告诉不要在远程桌面上打开完整的 MATLAB GUI。

现在,当我在 MATLAB 编辑器中时,我运行以下命令来执行 MATLAB 脚本script_name

cd location_of_script
script_name

script_name基本上读取一些由 Python 生成的图像,进行一些处理并将结果保存在某个.txt文件中。

我想统一这两个步骤程序。也就是说,只要我的 Python 函数完成其工作,它就应该调用 MATLAB 脚本并仅在.txt保存文件时终止。

该脚本不需要任何输入参数。

谢谢

标签: pythonpython-3.xmatlab

解决方案


您可以使用subprocess从 Python 启动 MATLAB。


启动 MATLAB 时,应使用以下启动标志:

  • sd设置 MATLAB 工作目录。
  • -r执行 MATLAB 将运行的语句。

有关启动选项的更多信息在这里。

import subprocess
subprocess.run("/media/data/software/matlab2018a/bin/matlab -sd \"location_of_script\" -r \"run('script_name');exit\" -nojvm -nodisplay -nosplash")

推荐阅读