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

发布于 2021-01-29 19:03:30

我正在寻找一种将NumPy数组传递给Matlab的方法。

我已经设法通过使用将数组存储到图像中scipy.misc.imsave,然后使用加载它来做到这一点imread,但这当然会使矩阵包含0到256之间的值,而不是“真实”值。

将这个矩阵的乘积除以256,再加上原始NumPy数组中的最大值,可以得出正确的矩阵,但是我觉得这有点乏味。

有没有更简单的方法?

关注者
0
被浏览
281
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    当然,只要使用 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是通用交换格式。几乎所有内容都可以处理带分隔符的文本文件。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看