C语言如何读取MAT格式文件?

rabbit555 2008-11-18 11:54:51
如题,我需要读取MAT文件里面的数据,我已经用UltraEdit将MAT文件以二进制方式打开,从二进制数据中我看不出其文件头有多长,文件数据存储的起始地址在哪里,还有文件数据的存储格式?我预先已知道文件数据类型为浮点型,但是不知道其尾数和指数的存放格式。哪位朋友知道MAT文件的具体格式?请指教,谢谢!
...全文
1653 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
太乙 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 rabbit555 的回复:]
FILE *fp;
fp=fopen("filename.mat","rb");
结果返回给fp的是一个空指针,fp=0
[/Quote]

文件存在么?确定是在当前目录下???
rabbit555 2008-11-19
  • 打赏
  • 举报
回复
FILE *fp;
fp=fopen("filename.mat","rb");
结果返回给fp的是一个空指针,fp=0
太乙 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 rabbit555 的回复:]
我用fopen()函数打开音频(WAV格式)文件都没有问题的
[/Quote]

怎么个打不开法??
rabbit555 2008-11-19
  • 打赏
  • 举报
回复
文件存在,是在当前目录下
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Chiyer 的回复:]
http://genial.ycool.com/post.13757.html
MAT文件的读写与格式

http://www.baisi.net/viewthread.php?tid=761003
mat文件结构分析
[/Quote]
up
就呆在云上 2008-11-19
  • 打赏
  • 举报
回复
FILE *fp; 
fp=fopen("filename.mat","rb");


足够了
如果你要知道文字有多大就这样
FILE *fp; 
fp=fopen("filename.mat","rb");
int count = 0;
char c;
while((c = fgetc(fp)) ! = EOF) {
count++;
}

最后的count就是文件的大小啦
canican 2008-11-19
  • 打赏
  • 举报
回复
早上顶一下
rabbit555 2008-11-19
  • 打赏
  • 举报
回复
没有隐藏,其它文件都能读取,就是MAT文件不行
太乙 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 rabbit555 的回复:]
文件存在,是在当前目录下
[/Quote]

你确定没隐藏后缀名??
xhs_lh04 2008-11-18
  • 打赏
  • 举报
回复
另外给你个链接
http://www.programfan.com/blog/article.asp?id=10687
看看这篇文章,C里访问MAT文件
xhs_lh04 2008-11-18
  • 打赏
  • 举报
回复
上matlab网站看看,应该有介绍
rabbit555 2008-11-18
  • 打赏
  • 举报
回复
我用fopen()函数打开音频(WAV格式)文件都没有问题的
rabbit555 2008-11-18
  • 打赏
  • 举报
回复
继续补充:MAT文件的格式我已知道了,但是用fopen()函数打不开,难道MAT文件不是二进制文件?
wudeshou82666 2008-11-18
  • 打赏
  • 举报
回复
有问题其实可以先问问GOOGLE的,呵呵!一些比较具体的问题就可以拿进来分析
wudeshou82666 2008-11-18
  • 打赏
  • 举报
回复
找这方面的资料吧
踏岸寻柳 2008-11-18
  • 打赏
  • 举报
回复
主要是得知道文件格式,类似于协议,然后就是文件的读写操作了。
Longinc 2008-11-18
  • 打赏
  • 举报
回复
UP
rabbit555 2008-11-18
  • 打赏
  • 举报
回复
补充一下:
这个MAT文件装载的数据是用MATLAB生成的矩阵,我想用C语言读取里面的数据来进行下一步的计算
星羽 2008-11-18
  • 打赏
  • 举报
回复
目 录第1章 MATLAB简介... 1 1.1 MATLAB概述... 1 1.2 MATLAB环境... 1 1.2.1 MATLAB安装... 1 1.2.2 MATLAB启动与退出... 4 1.3 MATLAB的开发环境... 5 1.3.1 工作界面... 5 1.3.2 命令窗口... 6 1.3.3 当前目录浏览器窗口... 8 1.3.4 工作空间浏览器窗口... 9 1.3.5 历史命令窗口... 10 1.3.6 数组编辑器窗口... 11 1.4 MATLAB帮助系统... 11 1.4.1 帮助命令... 11 1.4.2 帮助窗口... 12 1.4.3 演示系统... 13 第2章 MATLAB数值计算及应用... 15 2.1 MATLAB的数值计算基础... 15 2.1.1 数据类型... 15 2.1.2 常量和变量... 18 2.1.3 数值计算应用的示例... 19 2.2 MATLAB的数组、矩阵运算... 20 2.2.1 数组与矩阵的概念... 20 2.2.2 数组或矩阵元素的标识... 21 2.2.3 数组与矩阵的输入... 23 2.2.4 数组与矩阵的算术运算... 25 2.2.5 向量及其运算... 32 2.2.6 矩阵的特殊运算... 35 2.2.7 数组的运算... 44 2.2.8 字符串... 47 2.3 MATLAB多项式及其运算... 47 2.3.1 多项式求值... 48 2.3.2 多项式求根... 48 2.3.3 部分分式展开... 49 2.3.4 多项式乘除... 50 2.3.5 多项式的微积分... 50 2.4 插值与拟合... 51 2.4.1 一维插值问题... 51 2.4.2 二维插值问题... 52 2.4.3 曲线拟合... 56 2.5 线性方程组求解... 58 2.5.1 方程组解法... 58 2.5.2 求线性方程组的通解... 65 2.6 非线性方程与最优化问题... 67 2.6.1 非线性方程数值求解... 67 2.6.2 无约束最优化问题求解... 69 2.6.3 有约束最优化问题求解... 71 第3章 符号运算及应用... 73 3.1 MATLAB符号运算基础... 73 3.1.1 符号表达式... 73 3.1.2 符号表达式的操作及代数运算... 75 3.2 MATLAB符号微积分运算... 82 3.2.1 符号极限运算... 82 3.2.2 符号函数微分运算... 82 3.2.3 符号函数积分运算... 83 3.2.4 符号求和函数与级数展开函数... 84 3.3 复变函数运算的MATLAB实现... 86 3.3.1 复数的概念... 86 3.3.2 复变量的函数... 86 3.3.3 复数的生成及其矩阵创建... 87 3.3.4 复数的几何意义... 88 3.3.5 MATLAB在复数代数运算中的实现... 90 第4章 MATLAB程序设计技术... 93 4.1 MATLAB的控制语句... 93 4.1.1 条件控制... 93 4.1.2 循环控制... 96 4.1.3 错误控制... 98 4.2 M文件编程... 99 4.2.1 M文件的分类介绍... 99 4.2.2 函数调用和变量传递... 101 4.2.3 数据导入与导出... 107 4.2.4 示例分析... 111 4.3 函数类型... 118 4.3.1 主函数... 118 4.3.2 子函数... 119 4.3.3 私有函数... 119 4.3.4 嵌套函数... 120 4.3.5 重载函数... 124 4.4 调试程序... 124 4.4.1 调试程序介绍... 124 4.4.2 MATLAB调试菜单... 125 4.4.3 调试命令... 126 第5章 MATLAB绘图功能... 129 5.1 二维图形绘制... 129 5.1.1 绘制二维曲线的常用函数... 129 5.1.2 绘制图形的辅助操作... 132 5.1.3 绘制二维图形的其他函数... 137 5.2 三维图形绘制... 141 5.2.1 绘制三维曲线的常用函数... 141 5.2.2 三维曲面图绘制... 142 5.2.3 其他三维图形绘制... 146 5.2.4 透明度作图... 147 5.2.5 立体可视化... 148 5.3 图形颜色映像的应用... 151 5.4 光照和材质处理... 153 5.4.1 光照处理... 153 5.4.2 材质处理... 154 5.5 图像显示技术... 156 5.5.1 图像简介... 156 5.5.2 图像的读取... 157 5.5.3 图像的显示... 159 5.6 动画制作技术... 159 第6章 MATLAB在模糊控制系统中的应用... 161 6.1 模糊系统的MATLAB实现... 161 6.1.1 模糊集简介... 161 6.1.2 模糊推理系统与MATLAB应用... 166 6.1.3 模糊推理系统的MATLAB模糊工具箱的图形界面实现法... 166 6.2 MATLAB模糊逻辑工具箱命令函数及示例... 173 6.3 MATLAB模糊逻辑工具箱命令函数应用示例... 193 第7章 MATLAB在人工神经网络中的应用... 197 7.1 人工神经网络介绍... 197 7.2 感知器... 197 7.2.1 感知器原理... 198 7.2.2 感知器相关函数... 199 7.2.3 感知器的MATLAB实现... 202 7.3 线性神经网络... 203 7.3.1 线性神经网络原理... 204 7.3.2 线性神经网络相关函数... 204 7.3.3 线性神经网络的MATLAB实现... 206 7.4 BP网络... 207 7.4.1 BP网络原理... 207 7.4.2 BP网络相关函数... 208 7.4.3 BP网络的MATLAB实现... 217 7.5 径向基网络... 218 7.5.1 径向基网络原理... 218 7.5.2 径向基网络相关函数... 219 7.5.3 径向基网络应用示例... 222 7.6 回归网络... 223 7.6.1 回归网络相关函数... 223 7.6.2 回归网络的MATLAB实现... 224 第8章 MATLAB在自动控制中的应用... 227 8.1 控制系统模型... 227 8.1.1 控制系统的描述与LTI对象... 227 8.1.2 典型系统的生成... 228 8.1.3 连续系统与采样系统之间的转换... 230 8.2 控制系统的时域分析... 231 8.2.1 时域分析的一般方法... 231 8.2.2 常用时域分析函数... 234 8.2.3 时域分析应用示例... 237 8.3 根轨迹分析... 238 8.3.1 模条件和角条件... 239 8.3.2 绘制根轨迹的规则... 239 8.3.3 根轨迹的应用示例... 240 8.4 控制系统的频域分析... 243 8.4.1 幅相频率特性... 243 8.4.2 对数频率特性... 245 8.4.3 对数幅相特性... 248 8.5 系统校正... 248 8.5.1 串联超前校正... 248 8.5.2 串联滞后校正... 251 8.5.3 串联滞后—超前校正... 252 8.6 极点配置设计方法... 255 8.6.1 Gura-Bass算法... 255 8.6.2 Ackermann配置算法... 256 第9章 MATLAB在数字信号中的应用... 259 9.1 数字信号知识... 259 9.1.1 信号产生... 259 9.1.2 信号的运算... 265 9.1.3 信号的抽取与插值... 267 9.2 离散时间傅里叶变换... 269 9.2.1 离散时间傅里叶变换定义及计算... 269 9.2.2 离散时间傅里叶变换的特性... 271 9.3 数字滤波器的分析与实现... 273 9.3.1 数字滤波器知识... 273 9.3.2 数字滤波器的分析与实现... 274 9.4 IIR数字滤波器的设计法... 278 9.4.1 冲激响应不变法... 278 9.4.2 双线性变换法... 279 9.4.3 IIR数字滤波器的频率变换设计法... 279 9.5 FIR数字滤波器设计法... 283 9.5.1 窗函数设计法... 283 9.5.2 频率抽样法... 286 9.5.3 MATLAB的其他相关函数... 289 9.6 MATLAB实现功率谱估计... 292 第10章 MATLAB外部程序接口应用... 295 10.1 MATLAB数据接口... 295 10.1.1 通用文件I/O操作... 295 10.1.2 低级文件I/O操作... 296 10.1.3 MAT文件及其应用... 300 10.2 MATLAB编译器的配置... 304 10.2.1 MATLAB编译器的配置... 304 10.2.2 编译指令... 305 10.3 MATLAB引擎... 306 10.3.1 MATLAB DDE服务器与引擎库... 306 10.3.2 C语言MATLAB引擎... 307 10.3.3 Fortran语言MATLAB引擎... 310 10.4 Visual C++与MATLAB接口... 311 10.4.1 Visual C++调用MATLAB引擎... 312 10.4.2 Visual C++使用数学函数库... 312 10.4.3 Visual C++创建MAT文件... 314 10.4.4 应用COM实现Visual C++与MATLAB的接口... 316 第11章 MATLAB在其他领域的应用... 323 11.1 MATLAB在电路中的应用... 323 11.1.1 概述... 323 11.1.2 MATLAB在电路中的应用示例... 323 11.2 MATLAB在图像处理中的应用... 326 11.2.1 图像变换... 327 11.2.2 MATLAB实现图像的边缘检测... 328 11.2.3 MATLAB在遥感中实现图像直方图的匹配... 330 11.3 MATLAB在力学及工程结构中的应用... 333 11.3.1 概述... 333 11.3.2 MATLAB在力学及工程结构中的应用示例... 333 11.4 MATLAB在优化设计中的应用... 338 11.4.1 概述... 338 11.4.2 MATLAB在优化设计中的应用示例... 339 参考文献 342

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧