MATLAB save()和load():读写MAT文件(附带实例)
MAT 文件是 MATLAB 使用的一种特有的二进制数据文件。
MATLAB 通常采用 MAT 文件把工作区的变量存储在磁盘里。MAT 文件可以包含一个或多个 MATLAB 变量数据本身,而且同时保存变量名及数据类型等。
在 MATLAB 中载入某个 MAT 文件后,可以在当前 MATLAB 工作区中完全再现当初保存该 MAT 文件时的那些变量,这是其他文件格式所不能实现的。同样,用户也可以使用 MAT 文件从 MATLAB 中导出数据。MAT 文件提供了一种更简便的机制,用于在不同操作平台之间移动 MATLAB 数据。
在 MATLAB 中,通常使用 load() 和 save() 函数进行 MAT 文件的读和写。在默认情况下,这两个函数以 MAT 文件的格式处理文件,但是也可以用 -ascii 参数选项来强制用文件方式处理文件。
【实例 1】将以 n 开头的变量保存到文件中。在命令行窗口中输入如下代码,并保存为 M 文件。
【实例 2】载入刚才创建的 nmat.mat 文件。在命令行窗口中输入如下代码:

图 1 工作区中的输出结果
继续在命令行窗口中输入以下代码,并显示相应的输出结果。
whos() 函数可以查看 MAT 文件中的变量名、大小和变量类型等变量信息。该函数的调用格式如下:
如果使用时考虑版本的差异,则可使用
MATLAB 通常采用 MAT 文件把工作区的变量存储在磁盘里。MAT 文件可以包含一个或多个 MATLAB 变量数据本身,而且同时保存变量名及数据类型等。
在 MATLAB 中载入某个 MAT 文件后,可以在当前 MATLAB 工作区中完全再现当初保存该 MAT 文件时的那些变量,这是其他文件格式所不能实现的。同样,用户也可以使用 MAT 文件从 MATLAB 中导出数据。MAT 文件提供了一种更简便的机制,用于在不同操作平台之间移动 MATLAB 数据。
在 MATLAB 中,通常使用 load() 和 save() 函数进行 MAT 文件的读和写。在默认情况下,这两个函数以 MAT 文件的格式处理文件,但是也可以用 -ascii 参数选项来强制用文件方式处理文件。
MATLAB save()输出数据到MAT文件
在 MATLAB 中,利用 save() 函数可以把工作区中的变量输出到二进制文件或 ASCII 码文件中,其调用格式如下:- save fName:保存工作变量中的全部数据;
- save fName var1 var2...varN:选择需要保存的变量。
【实例 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