gpt4 book ai didi

python - 从 python 运行已编译的 MATLAB

转载 作者:太空宇宙 更新时间:2023-11-03 11:29:24 24 4
gpt4 key购买 nike

我有一些 MATLAB 脚本,例如:

function mat_foo(varargin)
params.x = 'aaa';
params = parse_input(params, varargin);
disp(params.x);
end

parse_input 是我拥有的一个函数,它转换来自 varargin 的数据并覆盖 'params' 结构中的默认值。

我编译了这个函数,我想从 python 中调用它,我按以下方式进行:

subprocess.check_call(['$/mat_foo.app/Contents/MacOS/applauncher x bbb'], shell=True)

这会将 params.x 设置为 'bbb' 并且运行良好。

我的问题是,每次我想调用已编译的 MATLAB 时,它都会初始化 MCR,这大约需要 8-10 秒。我的问题是是否有一种方法可以将 MCR 初始化一次并快速使用多次?我在 OSX 上使用 MATLAB R2013a 和 python 2.7.5

最佳答案

可以按照描述在共享库中编译代码 here .您可以使用 python 在 python 中加载此库

mymatlab = cdll.LoadLibrary("mymatlab_library.so")

并通过调用函数初始化和加载MCR

mymatlab.initializeMyLibrary()

这可能什么都不做,或者只使用 matlab 的 disp 函数将文本打印到控制台。

对您的库的后续函数调用应立即执行。

另见 Mathworks discussion .

关于python - 从 python 运行已编译的 MATLAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25424058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com