经常在表示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\n‘,‘ ‘);
fprintf(fid2,‘%c\n‘,‘ ‘);
end