在执行 MATLAB 文件和 Python 脚本之间交替

Alternate between Executing a MATLAB file and a Python script

我有一个 MATLAB 文件,当前将其变量保存到 .mat 工作区中。 python 脚本使用 SciPy.io 从工作区读取这些变量。 python 脚本执行一些操作并将变量重新保存到 MATLAB 工作区(使用 Scipy.io),然后 matlab 应该重新打开。我正在使用 MATLABR2013a,我认为没有一种简单的方法可以从 .m 文件本身中 运行 python 脚本。

可能有比我打算做的方法更简单的方法,但我目前的计划是创建一个 bash 脚本,该脚本 运行 是 matlab 文件,并且只进行到如果随机变量(存储在另一个文件中)具有特定值,则在后一部分。该脚本然后调用 python 脚本,将随机变量设置为不同的(可以视为一种布尔值)。然后 matlab 脚本将执行第二部分而不是第一部分。然而,我需要大约 5 或 6 个这样的独占部分,将它们全部放在同一个 .m 文件中比将它们分开更容易

这看起来很乏味,但是当我真正想要的是一种让系统暂停 matlab 脚本的方法时,运行 python 脚本并返回到 matlab 脚本中的那个位置。

感谢所有创意建议,以使此工作流程尽可能高效且易于修改

下面详细介绍了 MATLAB 代码

  1. 我使用 MATLAB 的保存功能保存了工作区
  2. 使用 MATLAB 的 system() 函数执行 python 脚本。
  3. 在 python 中,使用 scipy.iosavemat 保存我想在 matlab 中访问的变量
  4. 使用 MATLAB 的加载函数将 python 中的变量加载回 matlab 的工作区

    writeto=['insert path to save to here']
    save(writeto)
    first_Pypath=['insert path of python script here']
    py_call=horzcat('python ',first_Pypath);
    system(py_call);