MAT文件操作
o李YZo 原文 MAT文件打开方法汇总及其他操作
MAT文件简介
为MATLAB使用的一种特有的二进制数据文件。MAT文件可以包含一个或者多个MATLAB 变量。MATLAB通常采用MAT文件把工作空间的变量存储在磁盘里,在MAT文件中不仅保存各变量数据本身,而且同时保存变量名以及数据类型等。所以在MATLAB中载入某个MAT文件后,可以在当前MATLAB工作空间完全再现当初保存该MAT 文件时的那些变量。这是其他文件格式所不能的。同样,用户也可以使用MAT文件从MATLAB环境中导出数据。MAT文件提供了一种更简便的机制在不同操作平台之间移动MATLAB数据。
在MATLAB环境中,通常使用load和save两个命令进行 MAT文件的读和写。在默认情况下,这两个命令以 MAT 文件格式处理文件
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')。
例:
A = ones(3); B = eye(3,4); C = rand(3);
save lx;
clear; clc
这时,变量A B C 均被存入文件lx中。
S = load('lx', 'A', 'B');
A
显示:
A =
1 1 1
1 1 1
1 1 1
2. save函数的使用
save 函数的功能是把当前MATLAB工作空间的一个或多个变量存写到外部文件。在默认情况下,save 函数以MAT格式存写数据。若在命令中直接调用该函数,不带任何参数,执行结果是把MATLAB工作空间的所有变量保存到系统默认的matlab.mat文件中。当然,带上文件名参数,就可以将当前工作空间中的所有变量存写在指定的 MAT文件中。
如果用户需要保存指定的某几个变量,只需在文件名参数后,列出要保存的文件名即可。比如,命令save mymat.matx,y,z执行后的结果就是将当前工作空间中的变量 x,y,z保存到mymat.mat文件中,要求x,y,z是当前工作空间中已经存在的变量。
此外,还有几个与mat文件操作相关的函数
matopen 打开mat文件
matclose 关闭mat文件
magetfp 取得mat文件的c语言句柄
matGetArray 取得一个数组
在普通的C/C++程序中读写MAT文件
1.使用MATLAB 提供的MAT 文件接口函数
在C/C++程序中有两种方式可以读取MAT文件数据。一种是利用MATLAB提供的有关MAT文件的编程接口函数。MATLAB的库函数中包含了MAT文件接口函数库,其中有各种对MAT文件进行读写的函数,都是以mat开头的函数。如表2-10所示。
表2-10 C语言中的MAT文件读写函数
MAT 函 数 |
功 能 |
matOpen |
打开 MAT 文件 |
matClose |
关闭 MAT 文件 |
matGetDir |
从 MAT 文件中获得 MATLAB 阵列的列表 |
matGetFp |
获得一个指向MAT 文件的ANSI C 文件指针 |
matGetVariable |
从MAT文件中读取MATLAB阵列 |
matPutVariable |
写MATLAB阵列到MAT文件 |
matGetNextVariable |
从MAT文件中读取下一个MATLAB阵列 |
matDeleteVariable |
从MAT文件中删去下一个MATLAB阵列 |
matPutVariableAsGlobal |
从MATLAB阵列写入到MAT文件中 |
matGetVariableInfo |
从MAT文件中读取MATLAB阵列头信息 |
matGetNextVariableInfo |
从MAT文件中读取下一个MATLAB阵列头信息 |
2.在C/C++程序中读取MAT文件内容
另外一种在C/C++程序中读写 MAT 文件的方法是根据 MAT 文件结构,以二进制格式在C/C++中读入文件内容,然后解析文件内容,从而获得文件中保存的MATLAB数据。因为MAT文件格式是公开的,用户只要在找到安装路径下的一个名为matfile_format,pdf的文件,就可以详细了解 MAT 文件结构,从而在C/C++程序中以二进制格式读取文件内容,解析以后得到文件中保存的数据。
Mat文件是3DSMAX的材质文件!
打开3DMAX,进入材质编辑器,按键盘“M”就出来了,打开材质贴图浏览器,选择左边的“浏览自:”下面的“材质库”,不要关闭窗口再点击最下面“文件”下的打开按钮,然后在弹出的窗口里面选择你的.mat文件即可。
相关文章
- 如何更改pycharm项目路径_怎么修改pycharm文件路径
- 上手之Python之文件操作
- Easypoi解析FTP服务器的Excel文件
- 【lrzsz】安装lrzsz工具实现Linux和Windows系统之间文件便捷上传与下载
- 【C-文件操作】一文教你如何将代码的数据持久化
- ExcelVBA文件操作-打开对话框取得文件夹路径2种方法
- Python操作文件的基本流程
- 【C 语言】文件操作 ( ftell 函数 | 使用 ftell 函数获取当前指针位置 | 通过 ftell 计算文件大小 )
- python实现ftp上传文件详解编程语言
- Oracle归档日志文件操作指南(oracle归档日志文件)
- 权限 Linux操作:更改用户文件权限的方法(linux更改用户文件)
- Linux文件来源探索之旅(linux文件来源)
- Linux远程操作: 快速打开文件(linux远程打开文件)
- 和删除Linux下实现同时读取文件和删除文件(linux同时读文件)
- 使用MySQL Bat文件快速完成数据库操作(mysqlbat文件)
- 使用Linux Tar工具删除文件(linuxtar删除)
- 操作Linux文件路径操作实践指南(linux下文件路径)
- Linux.pl文件:使用它来加强您的Linux体验(linux.pl文件)
- 桌面版Skype下载 更新:不中断聊天下分享文件或图片
- 使用Linux操作RMF文件的方法(rmf文件linux)
- Linux文件管理之使用操作命令(linux操作文件命令)
- Linux解压.zip文件的简易操作(linux.zip解压)
- 文件管理Linux命令行操作:简单、实用的文件管理(linux命令行实现)
- Linux下如何解压LZO文件(linux解压lzo)
- Linux文件操作:简单易学的复制并改名技巧(linux复制并改名)
- Linux下查看大文件的简便方法(linux 大文件 查看)
- 夹Linux系统下如何创建文件夹(linux系统创建文件)
- 5招减少网站恶意文件上传
- 目录,文件操作详谈—PHP
- PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
- 深入分析NTFS中文件被锁定导致Process.Start失败的详解
- C#操作config文件的具体方法
- php断点续传之如何分割合并文件
- php强制文件下载而非在浏览器打开的自定义函数分享
- PHP操作文件的一些基本函数使用示例