Numpy 与MATLAB和Octave交换数据

MATLAB和它的开源替代品Octave都是流行的数学软件。scipy.io包中有一个savemat函数。用NumPy数组构造一个字典对象。savemat函数可以把该字典对象转换并存储到一个.mat文件中。

准备工作

怎样安装MATLAB和Octave不在本书的讨论范围之内。Octave的官网上有安装指南(http://www.gnu.org/software/octave/download.html)。

具体步骤

安装好MATLAB或Octave后,需要按照如下步骤保存NumPy数组。

  1. 调用savemat函数。

创建一个NumPy数组。调用savemat函数,把这个数组保存到一个.mat文件中。savemat函数需要两个参数:文件名,包含变量名和变量取值的字典对象。

a = numpy.arange(7)
scipy.io.savemat("a.mat", {"array": a})

  1. 加载.mat文件。

切换到上一步骤生成的.mat文件所在的目录。在Octave中加载该文件,并查验数组数据。

octave-3.4.0:2> load a.mat
octave-3.4.0:3> array
array =

    0
    1
    2
    3
    4
    5
    6  

本的完整代码如下。

import numpy
import scipy.io

a = numpy.arange(7)
scipy.io.savemat("a.mat", {"array": a})

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程