首页 > 编程笔记 > MATLAB笔记 阅读:286

MATLAB save()和load():读写MAT文件(附带实例)

MAT 文件是 MATLAB 使用的一种特有的二进制数据文件。

MATLAB 通常采用 MAT 文件把工作区的变量存储在磁盘里。MAT 文件可以包含一个或多个 MATLAB 变量数据本身,而且同时保存变量名及数据类型等。

在 MATLAB 中载入某个 MAT 文件后,可以在当前 MATLAB 工作区中完全再现当初保存该 MAT 文件时的那些变量,这是其他文件格式所不能实现的。同样,用户也可以使用 MAT 文件从 MATLAB 中导出数据。MAT 文件提供了一种更简便的机制,用于在不同操作平台之间移动 MATLAB 数据。

在 MATLAB 中,通常使用 load() 和 save() 函数进行 MAT 文件的读和写。在默认情况下,这两个函数以 MAT 文件的格式处理文件,但是也可以用 -ascii 参数选项来强制用文件方式处理文件。

MATLAB save()输出数据到MAT文件

在 MATLAB 中,利用 save() 函数可以把工作区中的变量输出到二进制文件或 ASCII 码文件中,其调用格式如下:
【实例 1】将以 n 开头的变量保存到文件中。在命令行窗口中输入如下代码,并保存为 M 文件。
n1=ones(10);
n1=ones(12);
n2=zeros(25);
n3=rand;
save nmat n*

MATLAB load()读取MAT文件

load() 函数可以从 MAT 文件中读取数据,该函数的调用格式如下:
S=load(fName)
S=load(fName,variables)
S=load(fName,'-mat',variables)
S=load(fName,'-ascii')
其中,fName 为要读取的文件的名称,variables 用于指定只读取文件中的某些变量,-mat 和 -ascii 分别用于强制以 MAT 文件格式处理文件或强制以文件方式处理文件。

【实例 2】载入刚才创建的 nmat.mat 文件。在命令行窗口中输入如下代码:
>> load nmat
工作区中的输出结果如下图所示:


图 1 工作区中的输出结果

继续在命令行窗口中输入以下代码,并显示相应的输出结果。
>> whos
Name      Size            Bytes  Class     Attributes

n1        12x12           1152  double
n2        25x25           5000  double
n3        1x1              8    double

MATLAB查看MAT文件的变量

MAT 文件中的变量能通过 load() 函数导入后查看其内容,也可以直接通过 whos() 函数查看。

whos() 函数可以查看 MAT 文件中的变量名、大小和变量类型等变量信息。该函数的调用格式如下:
whos -file fName
【实例 3】查看 MAT 文件的变量示例。在命令行窗口中输入以下代码,并显示相应的输出结果。
>> whos -file nmat
Name      Size            Bytes  Class     Attributes

n1        12x12           1152  double
n2        25x25           5000  double
n3        1x1              8    double

如果使用时考虑版本的差异,则可使用 -v6 选项。例如:
save nmat n* -v6

相关文章