爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4508|回复: 1

[参考资料] Matlab将元胞数组输出到txt或者dat文件中

[复制链接]

新浪微博达人勋

发表于 2018-1-23 18:28:00 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 lq_nuist 于 2018-1-23 19:17 编辑

原链接:http://cn.mathworks.com/help/matlab/import_export/write-to-delimited-data-files.html#br2ypq2-1

方法一:用fprint输出元胞数组


这个例子展示了怎么用fprint方法将元胞数组输出到TEXT 文件中。



创建一个元胞数组例子, 以便输出
  1. C = {'Atkins',32,77.3,'M';'Cheng',30,99.8,'F';'Lam',31,80.2,'M'}


  2. C =  3×4 cell array    'Atkins'    [32]    [77.3000]    'M'    'Cheng'     [30]    [99.8000]    'F'    'Lam'       [31]    [80.2000]    'M'
复制代码




打开一个名字为celldata.dat的文件,将元宝数组内容输出到这个文件里.

  1. fileID = fopen('celldata.dat','w');
复制代码



fopen 返回一个文件标示fileid,通过这个标示,fprint将数组数据写入到文件中
构建字符串格式,'%s'表示字符串, '%d' 标示int数据, '%f'表示是浮点数据 ,每一个数据后换行('\n').
  1. formatSpec = '%s %d %2.1f %s\n';
复制代码



获得元胞数组的行和列值. 然后用fprint逐行将数据输出到文件中.


  1. [nrows,ncols] = size(C);
  2. for row = 1:nrows   
  3.      fprintf(fileID,formatSpec,C{row,:});
复制代码


// 注意此处不用{},而是()时,得到的字符串有引号,需注意


输出完毕后,关闭文件流。
  1. fclose(fileID);
复制代码



查看文件内容
  1. type celldata.dat


  2. Atkins 32 77.3 MCheng 30 99.8 FLam 31 80.2 M
复制代码





方法2:将元胞数组转换成Table
例子如下:
  1. T = cell2table(C,'VariableNames',{'Name','Age','Result','Gender'});
复制代码



将Table输出到TEXT中。
  1. writetable(T,'tabledata.dat')
复制代码



查看这个文件
  1. type tabledata.dat
复制代码



Name,Age,Result,
Gender
Atkins,32,77.3,M
Cheng,30,99.8,F
Lam,31,80.2,M








密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2018-1-24 09:03:34 | 显示全部楼层
可以自己总结,不推荐抄袭
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表