用 Python 编写 Octave 命令行并提取输出

问题描述

我愿意在不使用 python 包 oct2py 的情况下从我的 python 脚本调用 Octave(我在导入 it 时遇到了麻烦)。我知道 subprocess 包的使用,但是如何从此命令中提取 Octave 函数输出。我改写:假设我有一个计算 fft 的函数,定义如下: function [A,f]=fft_of_signal(Value,T)%coumputes A and f end

从 Octave 调用它如下: octave:1> [v,f]=fft_of_signal(value,T)

如何使用 subprocess 来询问 v 和 f 的计算值? subprocess.run(['octave-cli.exe','[v,T);'])

提前致谢!

解决方法

不要。

相反,创建一个八度脚本,将任何所需的输出保存在 .mat 文件中,然后退出。

然后,使用 scipy.io.loadmat

从 python 打开 .mat 文件