首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python运行已编译的MATLAB

从python运行已编译的MATLAB
EN

Stack Overflow用户
提问于 2014-08-21 18:30:52
回答 1查看 797关注 0票数 4

我有一些MATLAB脚本,例如:

代码语言:javascript
复制
function mat_foo(varargin)
    params.x = 'aaa';
    params = parse_input(params, varargin);
    disp(params.x);
end

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

我编译了这个函数,我想从python中调用它,我用下面的方法:

代码语言:javascript
复制
subprocess.check_call(['$/mat_foo.app/Contents/MacOS/applauncher x bbb'], shell=True)

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

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

EN

回答 1

Stack Overflow用户

发布于 2015-02-16 23:58:09

可以按照here的描述在一个共享库中编译你的代码。您可以使用以下命令在python中加载此库

代码语言:javascript
复制
mymatlab = cdll.LoadLibrary("mymatlab_library.so")

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

代码语言:javascript
复制
mymatlab.initializeMyLibrary()

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

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

另请参阅此Mathworks discussion

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25424058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档