您的位置:首页 > 编程语言 > MATLAB

简明教程 C程序读取.mat格式的Matlab数据文件

2016-09-02 16:36 513 查看
之前需要Matlab保存训练数据,并由C调用,直接用.txt时,读取有些慢,就想用.mat标准格式存取,而且Matlab有自带API

C程序读取.mat,网上有教程,而且Matlab官方也有教程和例子,这里就简明介绍,另外本文的方法不用配置路径,代码放到没安装过Matlab的机器上也可以跑,方法如下:

一、保存mat文件

在Matlab中用save函数保存变量到.mat文件(任何格式的变量均可,matrix,struct,cell都能读)

二、读取mat文件

在C程序中,用对应的函数,打开和读取该文件即可

大功告成!

.

.

.

详细参考,官方文档,MAT-File API和其相关链接,包含了从环境配置,到C的API,足够实现读mat的需求了

http://cn.mathworks.com/help/matlab/read-and-write-matlab-mat-files-in-c-c-and-fortran.html

对应源码在以下目录

matlabroot\extern\examples\eng_mat

三、挣脱依赖

为了让不装Matlab的机器也能跑,饼哥放弃设置引用路径,而将所有依赖项都复制到项目目录下,需要以下这些文件:

libmat.lib

libmx.lib

mat.h

matrix.h

tmwtypes.h



这些dll是我运行exe缺一个,补一个找的,可谓呕心沥血

Q&A

Q: 版本

A: Matlab2015a

Q: 参考

A: http://cn.mathworks.com/help/matlab/read-and-write-matlab-mat-files-in-c-c-and-fortran.html

这篇中文教程,也比较完整 http://blog.csdn.net/left_la/article/details/8206645

Q: 自己写的读取代码各种出错,而且不知原因所在?

A: 一般是内存报错,说明解析时,变量读取的层级有误,说白了读取的C代码写错了

对照官方示例,一层层耐心剖析方能解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐