MATLAB之家

专注于收录分享MATLAB代码、技巧、经验!
当前位置:网站首页 / MATLAB基础 / 正文

Matlab中的保存数据的语句用法比较

2017-04-12 / MATLAB基础 / 1344 次围观 / 0 次吐槽

在Matlab中,我们经常遇到需要将一些中间数据或者最终结果保存为文本形式(*.txt);其中提供了多种保存数据的语句,应该如何选择喃?在此,小弟在使用了fprintf、save、dlmwrite的基础上,对这三种方法进行了一个比较:

fprintf(fid, format, A, ...),将数据A以format表示的格式写入fid(文件)中,fid由fopen函数返回得到。

实例1:  

x = 0:.1:1;
A = [x; exp(x)];
fid = fopen('exp.txt', 'wt');
fprintf(fid, '%6.2f %12.8f\n', A);
fclose(fid)
save filename.txt A  -format,将数据A以format表示的格式写入filename文本文件中。

实例2:  

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文本文件中。

实例3:  

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是按照矩阵列存储。

推荐您阅读更多有关于“MATLAB之家保存数据,”的文章

请在这里放置你的在线分享代码
本站所有文章如无特别注明均为原创。作者:Matlaber ,复制或转载请以超链接形式注明转自 MATLAB之家
原文地址《Matlab中的保存数据的语句用法比较
额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP,Theme By zblog模板

Copyright©2021. MatlabHome All Rights Reserved. 蜀ICP备15004325号-1

分享:

支付宝

微信

扫一扫,想赞多少就多少~