首页 > 解决方案 > Python 的 MATLAB 引擎非常慢

问题描述

我有一个主要的 python 脚本,我想在一个数组上调用一个 Matlab 函数 (spm_filter.m)。

我使用如下内容:

import matlab.engine
eng = matlab.engine.start_matlab()
y_filtered = np.asarray(eng.spm_filter(filter_kernel, matlab.double(data.tolist()) ,nargout=1))

这很好用,但与我只使用 Matlab 做同样事情的情况相比,它非常慢,例如:

y_filtered = spm_filter(filter_kernel, data)

为什么matlab引擎这么慢?我怎样才能让它更快?

我不计时发动机的启动。看来放缓是由于matlab.double(data.tolist()。有什么办法可以改善这部分?

标签: pythonnumpymatlabmatlab-engine

解决方案


推荐阅读