第6章--基于数据文件交换的混合编程方法.ppt

第6章--基于数据文件交换的混合编程方法.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 基于数据文件交换的混和编程方法 MATLAB中的数据文件MAT是指,保存MATLAB工作空间中变量的文件。使用MAT文件可以解决不同编程语言之间的传递数据问题。这也是C/C++与MATLAB进行混合编程的重要方法。本章将介绍MAT文件格式,文件的读取方式,利用MAT文件进行数据共享对环境的设置要求,以及如何利用MAT文件实现数据共享,最后给出实例。 6.1 MAT文件概述 MAT文件是MATLAB软件使用的一种特殊文件格式的数据文件。该数据文件采用二进制格式进行描述。开发人员可以将一个或者多个MATLAB 变量定义并保存在MAT文件中。MATLAB通常采用MAT文件把工作空间的变量存储在磁盘里。这样,当需要重新载入这些变量到工作空间时,只需要重新将对应的MAT加载即可。 6.1.1 MAT文件格式 MAT文件的数据格式是MATLAB数据存储的标准格式,把文件存储为二进制格式,一般情况下使用MATLAB API(Application Program Interface,应用程序接口)进行MAT文件的读取与存储,这种方法屏蔽了MAT文件格式。但是若要从一个MATLAB API不支持的系统中读写MAT文件,就必须了解MAT文件的存储格式。 6.1.2 读取MAT文件load load函数是MATLAB的一个内置函数,它的主要功能是从MAT文件或者文本文件中读取数据。其基本形式如下: load 当matlab.mat文件存在时,直接运行load命令,将导入matlab.mat文件中的所有变量。如果不存在,则返回error。 6.1.3 写MAT文件 save()函数也是MATLAB的一个内置函数。它的主要功能是把当前MATLAB工作空间的一个或多个变量保存到MAT外部文件或者文本文件中。默认情况下,save ()函数以MAT格式保存数据,但是也可以用定制选项以文本方式保存文件。 6.2 VC ++操作MAT时的环境设置 为了使用MATLAB API操作MAT文件,需要进行必要的环境设置,与操作MAT数据文件有关的头文件主要是matrix.h和mat.h。matrix.h头文件中包含了MATLAB中的基本数据类型,矩阵的定义和操作方法,mat.h头文件中包含了MAT文件的创建、读写等函数的定义。另外也需要包括与Windows平台相关的libmat.lib和libmx.lib。 6.3 用C/C++语言操作MAT文件的API函数 MATLAB中提供了一批MAT文件的API函数,可以通过使用C/C++语言对这些API函数进行操作,实现对MAT文件数据的读取。在Windows操作系统下,可以运用MATLAB API实现对MAT文件的读和写操作,而不需要更多关注MAT文件的内部格式。 6.3.1 读写MAT文件的API函数简介 在C/C++程序中有两种方式可以读取MAT文件数据。一种是利用MATLAB提供的有关MAT文件的编程接口函数。MATLAB的库函数中包含了MAT文件接口函数库,其中有各种对MAT文件进行读写的函数,都是以mat开头的函数 6.3.2 打开MAT文件 打开MAT文件使用的API函数是matOpen。该函数的作用是打开一个MAT文件用于读/写。如果执行成功则返回MAT文件类型指针,否则返回空指针。其函数形式为: MATFile* matOpen(const char *filename, const char *mode); 其中参数filename是一个指向字符串的指针,包含了要打开的MAT文件名,mode为字符指针,用来说明要打开文件的模式 6.3.3 关闭MAT文件 关闭MAT文件使用的API函数是matClose。函数的作用是关闭一个MAT文件。如果函数执行成功则返回0,否则返回写文件错误。其函数形式为: Int matClose(MATFile *mfp); 参数mfp是一个指向MAT文件的MATFile类型指针。 6.3.4 获得MAT文件中所有阵列的目录 获得MAT文件中所有阵列的目录使用的API函数是matGetDir。函数的作用是获得MAT文件中所有阵列的目录。如果函数执行成功则返回一个字符指针数组,数组中每个元素都是字符指针,指向的字符串表示MAT文件中阵列的目录;否则返回参数num为-1,并返回一个空字符指针。 6.3.5 获得MAT文件的C语言文件句柄 获得MAT文件的C语言文件句柄使用的API函数是matGetFtp。函数的作用是获得MAT文件的C语言文件句柄。通过该句柄,用户可以方便地使用库函数feof和ferror判断程序出错的原因。其函数形式为: FILE *matGetFp(MATFile *mfp); 参数mfp是一个指向MAT文件的MATFile类

文档评论(0)

177****7891 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档