加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlab保存数据的几种方式

(2012-11-16 19:31:54)
标签:

杂谈

分类: matlab使用

在Matlab中,我们经常遇到需要将一些中间数据或者最终结果保存为文本形式(*.txt);其中提供了多种保存数据的语句,应该如何选择喃?
在此,小弟在使用了fprintf、save、dlmwrite的基础上,对这三种方法进行了一个比较:
     fprintf(fid, format, A, ...),将数据A以format表示的格式写入fid(文件)中,fid由fopen函数返回得到。
     实例:     x = 0:.1:1;
               A = [x; exp(x)];
               fid = fopen('exp.txt', 'wt');
               fprintf(fid, '%6.2f .8f\n', A);
               fclose(fid)
     save filename.txt A   -format,将数据A以format表示的格式写入filename文本文件中。
     实例:     x = 0:.1:1;
               A = [x; exp(x)];
               save   data.txt A -ASCII
   dlmwrite('filename.txt', A, 'D', R, C),从矩阵A的第R行、第C列开始,使用分隔符D分割数据(“\t”表示tab分割,“,”为默认分割符),存储到filename文本文件中。
     实例:     x = 0:.1:1;
               A = [x; exp(x)];
               dlmwrite(‘data.txt', A, 'delimiter', '\t', 'precision', 6);
   使用时,save保存的数据是以科学计数法的方式存储的;fprintf和dlmwrite则是可以选择存储数据的方式,fprintf的格式设置跟C语言中的用法一致,dlmwrite可以设置有效位位数,比如上面实例中6表示有效位位数是6位,dlmwrite中对数据中的小数就采用浮点数存储,整数就采用整型存储形式。
   在使用时,可根据自己实际情况的需要选择适合的一种。个人觉得matlab本身的这种以科学计数法来表示数据,有时不方便于查看。还有一点就是fprintf是按照矩阵列存储。

http://www.zdh1909.com/html/matlab/14620.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有