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++程序中以二进制格式读取文件内容,解析以后得到文件中保存的数据。

MATLAB MAT文件相关推荐

  1. matlab mat文件读取和调用

    13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存.导入和文件打开. 13.1.1 文件的存储 MATLAB支持工作区的保存.用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要 ...

  2. matlab mat文件

    如果想在matlab关闭后变量的值依然存在,就需要将变量保存在文件里,这里将变量保存为mat文件. (1)将数组保存到mat文件 matrix1=magic(4); save('matrix1.mat ...

  3. MATLAB——MAT文件

    MATLAB中的.mat文件是什么?如何生成?如何打开? (1).mat文件是什么 .mat是matlab的数据存储的标准格式,mat文件是标准的二进制文件,还可以以ASCII码的形式保存和加载.可以 ...

  4. matlab.mat文件读取,matlab中mat文件的生成和读取

    1.mat文件的生成 (1)直接在Matlab中创建并保存矩阵数据 打开Matlab软件,点击左上角文件(File),然后点击新建(new),选择变量(Variable),就新建了一个mat文件. 点 ...

  5. Python读取Matlab mat 文件

    Python读取Matlab mat的方法 MATLAB是一个编程平台,目前广泛用于数值计算.统计分析和生成算法.它是一种非常灵活的语言,允许我们将我们的工作与不同的编程语言如Python相结合. M ...

  6. Matlab .mat文件默认为Microsoft Access文件

    最近碰到的问题好像很多,matlab也不好使了.以前保存的mat文件,双击以后,竟然被默认为是Microsoft Access文件,根本就打不开了.这个真的是很麻烦.自己摸索了半天,没找到解决方法.幸 ...

  7. python把matlab的图显示出来,在Python上显示Matlab mat文件中的图像

    我正在显示一个从这个文件下载的Mat文件的图像 site . 这是一个.mat文件,所以我尝试使用spicy.io的load mat函数加载它,但似乎无法绘制图像. 我做错什么了? import sc ...

  8. matlab mat文件 太大,MATLAB .mat文件中的开销过大

    这对我来说似乎是个错误.解决方法是以块的形式写入预分配的数组. 从预先分配开始: fid = fopen('01_hit12.par', 'r'); data = fread(fid, inf, 'u ...

  9. matlab mat文件转fcf,Matlab的FDATool设计滤波器导出

    在LZ给出的SOS matrix和Scale Factors参数中已包含有滤波器的信息.这里给出2种方法形成滤波器参数,这是一个18阶的IIR滤波器,一种是分解成9个2阶IIR滤波器串接,另一种是18 ...

最新文章

  1. 数据库和数据仓库的区别
  2. SQL分类、数据类型
  3. 织梦dedecms内核自适应移动POS机刷卡机招商加盟企业网站源码
  4. windows 创建不可见账户
  5. es6 去掉空格_es6 filter() 数组过滤方法总结
  6. Eclipse快速创建Bottom Up类型的Web Service服务端
  7. JSdom操作内容,样式,属性
  8. Swoft单元测试基本坑
  9. 自动控制原理第3章——时域分析法(思维导图)
  10. esp8266 继电器接线图_如何使用ESP8266和Android控制继电器
  11. Excel Rate 函数的java 实现,等额本息计算反推利率
  12. 如何快速删除 Word 文档中的分节符
  13. java groovy 表达式_Groovy的基础语法
  14. wd ex2 ultra mysql_西部数据My Cloud EX2网络存储器驱动
  15. 个人笔记:Kotlin开发制作首页引导页
  16. 雨夜赶长路,房企必经的三场“价值战事”
  17. 阿里巴巴达摩院视觉AI平台概述
  18. 注册公司流程和费用(2016版)
  19. 如何使用Python itchat库玩转微信, 统计好友信息, 设置自动回复和发送本地文件...
  20. 写给即将毕业的同学们

热门文章

  1. 管理信息系统 第七版 第10章 课后习题
  2. Computer Networking A Top-Down Approach 笔记(一)
  3. Android文件系统的结构及目录用途、操作方法 整理
  4. Iphone 上字体大全
  5. [备忘]autorun专杀工具
  6. 【好用工具推荐系列】跨平台剪贴板工具——快贴
  7. 解决vs03 安装中可恶的FrontPage 2000 WEB
  8. 静态扫描之Yara第二话--编写yara规则(1)
  9. 解读百度《搜索引擎优化指南》
  10. 计算机中日期连接符号,电脑时间不能同步,在命令提示符里输入w32tm