python - 从 Python 运行 MATLAB 脚本

标签 python python-3.x matlab

我正在访问远程系统,启动 MATLAB 的方法是在 ubuntu 终端上执行 ssh 后执行以下命令。

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

它打开 MATLAB 的简单 vi 类界面,而无需打开完整的 GUI。

/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 文件时终止。

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

谢谢

最佳答案

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


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

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

有关启动选项的更多信息 here.

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

关于python - 从 Python 运行 MATLAB 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62442963/

相关文章:

matlab - 如何将图片的图像设置为左侧有白色边框?

python - 如何在 Z3py 中创建一个约束来检查一个列表是否是另一个列表的排列?

python - Django Rest Framework - 'module' 对象没有属性 'HStoreField'

python - 如果列表包含大小不等的元组,如何迭代?

python - 列表追加 VS。 += 在内部函数中获取 UnboundLocalError

matlab - 等高线上的等距点

algorithm - 如何在不同目录的多个图像中读取和运行算法?

python - 在 django rest 框架中实现角色

python - 弹出程序执行-python

python - 在 setuptools 安装中包含一个目录