如何解决“将” Numpy数组“转换”为Matlab,反之亦然
当然,只要使用 scipy.io.savemat
举个例子:
import numpy as np
import scipy.io
x = np.linspace(0, 2 * np.pi, 100)
y = np.cos(x)
scipy.io.savemat('test.mat', dict(x=x, y=y))
同样,有scipy.io.loadmat
。
然后,您使用将其加载到matlab中load test
。
或者,按照@JAB的建议,您可以将内容保存到以ascii制表符分隔的文件中(例如numpy.savetxt
)。但是,如果您选择此路线,您将只能使用2维。另一方面,ascii是通用交换格式。几乎所有内容都可以处理带分隔符的文本文件。
解决方法
我正在寻找一种将NumPy数组传递给Matlab的方法。
我已经设法通过使用将数组存储到图像中scipy.misc.imsave
,然后使用加载它来做到这一点imread
,但这当然会使矩阵包含0到256之间的值,而不是“真实”值。
将这个矩阵的乘积除以256,再加上原始NumPy数组中的最大值,可以得出正确的矩阵,但是我觉得这有点乏味。
有没有更简单的方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。