• [精] Matlab I/O 输入输出——二进制文件


    董为国:《深入浅出MATLAB7.x混合编程》

    二进制文件

    Matlab对二进制文件的读写需要使用低级文件命令。和对文本文件的读写一样,使用低级命令处理二进制文件包括3个步骤:打开文件、相应的文件读写,以及关闭文件。打开/关闭文件和文本文件一样,只是要用到不同的参数。只有中间步骤,也就是对文件的读写,需要用到专门适用于二进制文件的命令。

    二进制文件的打开/关闭

    fopen/fclose

    二进制文件的读写

    fread

    类似于fscanf

    fwrite

    类似于fprintf

    文件读写位置控制:文件被成功打开后,一个内部指针就指向文件开头的前一个字节。随着对文件的读/写命令的执行,这个指针也会在文件中移动,指向文件中不同的位置。

    fseek

    用来设定文件指针的位置

    ftell

    用来获得当前文件指针的位置

    frewind

    用来把文件指针重新复位到文件开头

    feof

    用来判断是否到达文件末尾


    MAT文件

    Matlab中读写MAT文件

    MAT文件是Matlab使用的一种二进制数据文件。MAT文件不仅保存各变量数据本身,它同时保存变量名以及数据类型等。所以在Matlab中载入某个MAT文件后,可以在当前Matlab工作空间完全再现当初保存该MAT文件时的那些变量。这是MAT文件优于其他文件格式的一个原因。

    load

    load是Matlab的一个内置函数,其功能是从MAT文件或者文本文件中导入数据。

    MAT文件虽然是二进制文件,但是可以在不同计算机平台上使用。save将当前计算机上对于二进制数据的字节存储顺序在MAT文件中保存数据。

    save
    save也是Matlab的一个内置函数,其功能是把当前的Matlab工作空间中的一个或者多个变量存入外部文件。

    save也可以在不同的计算机平台上使用,并且能够根据目标计算机对于二进制数据的字节存储顺序而正确地读取数据。

    C++中读写MAT文件

    利用Matlab的MAT编程接口函数

    matOpen

    matClose

    matGetDir

    matGetFp

    matGetVariable

    matPutVariable

    matGetNextVariable

    matDeleteVariable

    matPutVariableAsGlobal

    matGetVariableInfo

    matGetNextVariableInfo

    头文件mat.h包含了这些函数的定义,库函数libmat.lib包含了这些函数代码,libmat.lib又依赖于libmx.lib。

    普通C++程序中读取MAT文件内容

    前面介绍了如何在C/C++程序中利用Matlab提供的接口函数进行MAT文件读写。不过所开发出的程序在运行时需要Matlab提供的动态链接库函数。MathWorks提供了Matlab 6.x版本所对应的动态链接库,但是没有提供Matlab 7.x的动态链接库。

     

  • 相关阅读:
    定时刷新
    Codesmith生成oracle、mssql模版中的部分区别和基本功能备忘
    oracle使用中遇到的问题备忘
    存储过程内建临时表和临时函数,合并一个由存储过程返回的表
    烂MP3
    别人笑我太疯癫,我笑别人看不穿
    服务器被挂Iframe木马的解决方法(不是IIS映射修改,也不是ARP病毒,并且网页文件源代码里没有iframe代码的解决方法)
    随便记录下
    重构桌面飘着圣诞老人,利用策略模式和改造的代理模式让软件完全实现开闭原则,欢迎下载源代码分析
    Nhibernate连接oracle数据库报 Could not compile the mapping document异常的解决方法
  • 原文地址:https://www.cnblogs.com/xfzhang/p/1918659.html
Copyright © 2020-2023  润新知