C中使用MATLAB的mat文件

本文介绍了如何在C语言环境中访问和操作MATLAB的mat数据文件。首先需要将MAT.h包含路径添加到Visual Studio的Include目录,然后通过matOpen、matClose、matGetVariable等API函数进行文件的打开、关闭以及数据的读取。

 C中访问Matlab数据文件Mat的方式:

mat数据格式是matlab的数据存储的标准格式。  

 

(1)首先将Mat.h所在的includes文件夹加到Vs2005的include配置中:

Tools-Options-Projects and Solutions-VC++ Directories

在show derectories for:中选择includes file

将Matlab安装目录下的extern/include添加到其中。

(2)#include<mat.h>

(3)常见函数:

 

  matopen       打开mat文件  
  matclose       关闭mat文件  
  magetfp        取得mat文件的c语言句柄  
  matGetArray 取得一个数组  

 

 

 

 

/*
 * Open a MAT-file "filename" using mode "mode".  Return
 * a pointer to a MATFile for use with other MAT API functions.
 *
 * Current valid entries for "mode" are
 * "r"    == read only.
 * "w"    == write only (deletes any existing file with name <filename>).
 * "w4"   == as "w", but create a MATLAB 4.0 MAT-file.
 * "w7.3" == as "w", but create a MATLAB 7.3 MAT-file.
 * "u"    == update.  Read and write allowed, existing file is not deleted.
 *
 * Return NULL if an error occurs.
 */
EXTERN_C MATFile * matOpen(const char *filename, const char * mode);

 

/*
 * Close a MAT-file opened with matOpen.
 *
 * Return zero for success, EOF on error.
 */
EXTERN_C int matClose(MATFile *pMF);


/*
 * Write array value with the specified name to the MAT-file, deleting any
 * previously existing variable with that name in the MAT-file.
 *
 * Return zero for success, nonzero for error.
 */
EXTERN_C int matPutVariable(
           MATFile * pMF,
           const char * name,
           const mxArray * pA
           );

 

/*
 * Read the array value for the specified variable name from a MAT-file.
 *
 * Return NULL if an error occurs.
 */
EXTERN_C mxArray * matGetVariable(MATFile * pMF, const char * name);

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值