经常在表示matlab值时,它总会把一些小于1的大于1000的数使用科学计数法表示。这有时让人看了很不爽,每次把数据写到文本文件中也是很恶。

所以每次查来查去,这次解决是这样解决的。

1)、前面设置format g;

2)、使用fprintf设置格式为%g。

二、在小数点后某一位四舍五入,即保留几位小数,也经常用到。

1.数值型 roundn—任意位位置四舍五入

>>a=123.4567890;

>>a=roundn(a,-4)

a =   123.4568

其中roundn函数功能如下:

y = ROUNDN(x) rounds the input data x to the nearest hundredth.   %不指定n,精确到百分位

y = ROUNDN(x,n) rounds the input data x at the specified power    %精确到小数点后指定位数n

format g;

a=roundn(a,-4);

b=roundn(b,-4);

fid = fopen('a.txt','wt');

fid2=fopen('b.txt','wt');

for i=1:M

for j=1:N

fprintf(fid,'%g',a(i,j));

fprintf(fid,'%c',',');

fprintf(fid2,'%g',b(i,j));

fprintf(fid2,'%c',',');

end

fprintf(fid,'%c

',' ');

fprintf(fid2,'%c

',' ');

end

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐