微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“将” Numpy数组“转换”为Matlab,反之亦然

如何解决“将” 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 举报,一经查实,本站将立刻删除。