更新时间:2023-11-29 15:25:28
发布问题后的片刻,我找到了解决方法.
Moments after posting the question I found the solution.
对于一维数组,仅访问Matlab数组的_data
属性.
For one-dimensional arrays, access only the _data
property of the Matlab array.
import timeit
print 'From list'
print timeit.timeit('np.array(x)', setup=setup_range, number=1000)
print 'From matlab'
print timeit.timeit('np.array(x)', setup=setup_matlab, number=1000)
print 'From matlab_data'
print timeit.timeit('np.array(x._data)', setup=setup_matlab, number=1000)
打印
From list
0.0719847538787
From matlab
7.12802865169
From matlab_data
0.118476275533
对于多维数组,您需要随后重新调整数组的形状.对于二维数组,这意味着调用
For multi-dimensional arrays you need to reshape the array afterwards. In the case of two-dimensional arrays this means calling
np.array(x._data).reshape(x.size[::-1]).T