Matlab将.mat文件保存为.txt文件 您所在的位置:网站首页 matlab怎样保存m文件 Matlab将.mat文件保存为.txt文件

Matlab将.mat文件保存为.txt文件

2024-06-03 08:31| 来源: 网络整理| 查看: 265

  由于一开始没写mat2txt()的函数,手动转换发现工作量巨大,于是网上搜索了关于保存的方法,大家的方法各有不同,整理一下现总结如下:

1、使用save命令保存

  命令如下:

// filename.txt 为要保存的文件名,data 为工作区中的变量 save filename.txt data -ascii

  先说这种方法的优点,就是简单!简单!当然,既然简单肯定有局限性,就是这种方法保存出来的 .txt 是不会换行的,变量 data 中的数据全部置于文本文件中,无法区分;若之前的变量 data 是一行数据,推荐这种方法, 若之前的变量 data 是n*m 的矩阵,则不推荐这种方法。另外,这种方法保存的数据,会自动以科学计数法保存,若原本数据是整数,看起来肯定不爽。

2、使用dlmwrite()函数保存

  命令如下:

dlmwrite('filename.txt',data);

  需要说明一下参数的意义,filename.txt 为需要保存的文件的名称,data 是需要保存的工作区中的数据。默认情况下,转换格式后的数据之间使用逗号隔开,我们可以通过参数更改,即使用关键字“delimiter”,下面是使用空格隔开的一个例子:

dlmwrite('filename.txt',data,'delimiter',' ');

  除此之外,还可以使用 precision 设置数据精度;使用 newline 设置行终止符,‘pc’表示使用回车换行符,‘unix’表示换行符。

  还是要说优缺点。这种方法依然是很简便的,但是它依然不能实现矩阵的转换,与使用 save 命令的保存没有太多不同。

3、使用自己编写的函数 mat2txt() 保存

  既然以上matlab自带函数无法实现我们想要的结果,于是自己编写一个函数实现该功能,代码如下:

//把矩阵 matrix 保存成任意后缀的文件 //转换成 .txt 举例:mat2txt( 'filename.txt', data ); //转换成 .corr 举例:mat2txt( 'filename.corr',data ); function back = mat2txt( file_Name, matrix ) fop = fopen( file_Name, 'wt' ); [M,N] = size(matrix); for m = 1:M for n = 1:N fprintf( fop, ' %s', mat2str( matrix(m,n) ) ); end fprintf(fop, '\n' ); end back = fclose( fop ) ;

  该函数可以实现 .mat 到任意后缀格式文件的转换,前提是源数据为纯数据文件。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有