• matlab文件的基本操作


    mat文件格式是matlab文件的特有格式文件,mat文件存储了matlab的包含的多个矩阵的数据信息以及约定的matlab阵列头信息。由于matlab普及程度,将文件保存成mat文件格式可以极大的增加软件的适用性。

    以下记录了VC++保存matlab的mat文件的方法:

    matlab相关的API函数            

    MAT 函 数 功能
    matOpen 打开 MAT 文件
    matClose 关闭 MAT 文件
    matGetDir 从 MAT 文件中获得 MATLAB 阵列的列表
    matGetFp 获得一个指向MAT 文件的ANSI C 文件指针
    matGetVariable 从MAT文件中读取MATLAB阵列
    matPutVariable 写MATLAB阵列到MAT文件
    matGetNextVariable 从MAT文件中读取下一个MATLAB阵列
    matDeleteVariable 从MAT文件中删去下一个MATLAB阵列
    matPutVariableAsGlobal 从MATLAB阵列写入到MAT文件中
    matGetVariableInfo 从MAT文件中读取MATLAB阵列头信息
    matGetNextVariableInfo 从MAT文件中读取下一个MATLAB阵列头信息

    表格中是所用到的主要的MATLAB 的API函数

    读取MAT文件

    /***************************************************************************************************************************
    实现了从mat文件中读取矩阵数据,并且存储在CString变量data中
    
    ***************************************************************************************************************************/
    MATFile *pMF = NULL;    //mat文件
    mxArray *pA  = NULL;   //矩阵指针
    double *A;    //数据指针
    const char **dir;
    int ndir;
    int i,j;
    int m,n;
    //开启CFileDialog函数进行文件选取
    CFileDialog dlgFileOpen(TRUE,"matlab(*.mat)|*.mat","*.mat",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT ,"matlab(*.mat)");
    CString lpstrFilename;
    if(dlgFileOpen.DoModal()==IDOK)
        lpstrFilename = dlgFileOpen.GetPathName();
    pMF = matOpen(lpstrFilename,"r");
    dir = (const char **)matGetDir(pMF,&ndir);
    
    CString str;
    CString data;
           
    //matlab中的矩阵式按列显示的
    for (i =0 ;i <ndir;i++)
    {
        str.Format("%s",dir[i]);  
        pA = matGetVariable(pMF,str);   //从mat文件中获取数据
        m = mxGetM(pA);     //获取数据的行数
        n = mxGetN(pA);      //获取数据的列数
        A = mxGetPr(pA);    //获取矩阵数据地址
        for (i=0;i<m;i++)
        {
            for (j=0;j<n;j++)
            data.Format("%f",A[j*m+i]);
        }
    }
    mxFree(dir);
    mxDestroyArray(pA);
    matClose(pMF);

    保存mat文件

    未完待续!

  • 相关阅读:
    第十七章 Mnesia: Erlang数据库
    第十六章 OTP概述
    第十五章 ETS和DETS:大数据的存储机制
    第十四章 套接字编程
    第十三章 对文件编程
    nginx启动、关闭、重启及常用的命令
    《山海经》异兽75种,附图
    Spring中Configuration的理解
    Spring Boot学习一之Spring Beans和依赖注入
    Spring Boot学习一之配置类及自动配置
  • 原文地址:https://www.cnblogs.com/jackcin/p/3235079.html
Copyright © 2020-2023  润新知