【发布时间】:2021-12-16 13:46:00
【问题描述】:
从 Python 调用 MATLAB 势必会降低一些性能,而我可以通过在 Python 中重写(大量)代码来避免这种情况。然而,这对我来说不是一个现实的选择,但让我很恼火的是,从 numpy 数组到 MATLAB double 的简单转换导致效率的巨大损失。
我说的是下面从data1到data1m的转换,其中
data1 = np.random.uniform(low = 0.0, high = 30000.0, size = (1000000,))
data1m = matlab.double(list(data1))
这里的 matlab.double 来自 Mathworks 自己的 MATLAB 包/引擎。第二行代码在我的系统上花费了 20 秒,这对于除了使 MATLAB 的数字“可食用”之外并没有真正做任何事情的转换来说似乎太多了。
所以基本上我正在寻找一种与给定here 相反的技巧,用于将 MATLAB 输出转换回 Python。
【问题讨论】: