设为首页 加入收藏

TOP

Matlab与外部接口:MAT文件基础(一)
2014-03-10 12:58:42 来源: 作者: 【 】 浏览:170
Tags:Matlab 外部 接口 MAT 文件 基础

    MAT 文件
    MAT文件是MATLAB使用的一种特有的二进制数据文件。MAT文件可以包含一个或者多个MATLAB 变量。MATLAB通常采用MAT文件把工作空间的变量存储在磁盘里,在MAT文件中不仅保存各变量数据本身,而且同时保存变量名以及数据类型等。所以在MATLAB中载入某个MAT文件后,可以在当前MATLAB工作空间完全再现当初保存该MAT 文件时的那些变量。这是其他文件格式所不能的。同样,用户也可以使用MAT文件从MATLAB环境中导出数据。MAT文件提供了一种更简便的机制在不同操作平台之间移动MATLAB数据。
    2.5.1  在MATLAB中读写MAT文件
    在MATLAB环境中,通常使用load和save两个命令进行 MAT 文件的读和写。在默认情况下,这两个命令以 MAT 文件格式处理文件,但是也可以用–ascii参数选项来强制用文件方式处理文件。关于这点已经在本章介绍过了,这里主要介绍如何读写MAT文件。
    1. load 函数的使用
    load函数可以从MAT文件中读取数据,例如要读取mymat.dat文件,可以直接执行命令load mymat.dat,因为给出要读取的文件的后缀名是MAT,因此命令则以MAT文件格式读取数据,否则将以文本文件读取数据。命令中的文件名可以包含单引号,也可以不包含,也就是说该函数也可以这样调用:load 'mymat.mat' .
    load 函数还可以指定只读取文件中的某几个变量,只需在文件名之后列出想要读取的变量的变量名就可以了,变量名也可以使用通配符。  比如命令load mymat.mat y*,执行结果就是将文件中所有以y开头的变量读取出来。
    load还有一种函数形式的调用方式。这种调用方式就要求文件名必须是字符串,比如要导入mymat.mat文件,那么函数形式的调用必须是s = load('mymat.mat')。
    ● load:如果matlab.mat文件存在,导入matlab.mat中的所有变量,如果不存在,则返回error.
    ● load filename:将filename中的全部变量导入到工作区中。
    ● load filename X Y Z …:将filename中的变量X、Y、Z等导入到工作区中,如果是MAT文件,在指定变量时可以使用通配符"*".
    ● load filename -regexp expr1 expr2 …:通过正则表达式指定需要导入的变量。
    ● load -ascii filename:无论输入文件名是否包含有扩展名,将其以ASCII格式导入;如果指定的文件不是数字文本,则返回error.
    ● load -mat filename:无论输入文件名是否包含有扩展名,将其以mat格式导入;如果指定的文件不是MAT文件,则返回error.
    2. save函数的使用
    save 函数的功能是把当前MATLAB工作空间的一个或多个变量存写到外部文件。在默认情况下,save 函数以MAT格式存写数据。若在命令中直接调用该函数,不带任何参数,执行结果是把MATLAB工作空间的所有变量保存到系统默认的matlab.mat文件中。当然,带上文件名参数,就可以将当前工作空间中的所有变量存写在指定的 MAT文件中。
    如果用户需要保存指定的某几个变量,只需在文件名参数后,列出要保存的文件名即可。比如,命令save mymat.mat x,y,z执行后的结果就是将当前工作空间中的变量 x,y,z保存到mymat.mat文件中,要求x,y,z是当前工作空间中已经存在的变量。
    ● save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。
    ● save('filename', 'var1', 'var2', …):保存指定的变量在 filename 指定的文件中。
    ● save('filename', '-struct', 's'):保存结构体s中全部域作为单独的变量。
    ● save('filename', '-struct', 's', 'f1', 'f2', …):保存结构体s中的指定变量。
    ● save('-regexp', expr1, expr2, …):通过正则表达式指定待保存的变量需满足的条件。
    ● save('…, 'format'),指定保存文件的格式,格式可以为MAT文件、ASCII文件等

   

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇CprimerPlus中程序清单修改 下一篇数组与指针区别c语言

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: