MATLAB:将1.0e-01打印为0.1到txt的最简单方法
在MATLAB中,最简单的打印方法是什么MATLAB:将1.0e-01打印为0.1到txt的最简单方法,matlab,Matlab,在MATLAB中,最简单的打印方法是什么 1.0e-01as 0.1 到txt文件 但是,1.0e-01可能并不完全等于0.1。所以有两种情况: 1.0e-01正好等于0.1 及 1.0e-01不完全等于0.1 对于每种情况,最简单的方法是什么 案例1的模板: x = 1.0e-01; %I cannot type it as 0.1 manually. x is an output from other function txt1 = sprintf('testing'); fid1 = fo
1.0e-01
as
0.1
到txt文件
但是,1.0e-01
可能并不完全等于0.1
。所以有两种情况:
1.0e-01
正好等于0.1
1.0e-01
不完全等于0.1
x = 1.0e-01; %I cannot type it as 0.1 manually. x is an output from other function
txt1 = sprintf('testing');
fid1 = fopen(txt1,'w');
fprintf(fid1,'%.1d\n',x);
fclose(fid1);
一种方法是更改
数字
并使用vpa
(可变精度算法)打印。比如说,
digits(2)
vpa(0.100000000000001) %prints 0.1
或者,您可以简单地使用
vpa(0.100000000000001, 2);
但是这些只打印两位数字,如果你使用的是大数字,你需要小心 “你的东西怎么了?”比克更新
x
是函数的一些输出,显示为1.0e-01
@beaker它也显示为1.0e-01
,由fprintf(fid1,.1d\n',x)
@烧杯我找到了答案:更改为fprintf(fid1,%.1f\n',x)
对我有效。是的,浮点数规格比整数更好。对不起。我自己无法键入0.1000000000001
x
是其他函数的输出,其形式为1.0e-01
OK,x=其他函数的输出(…)
<代码>vpa(x,2)也会工作我找到了答案:更改为fprintf(fid1,%.1f\n',x)
对我有效。vpa不工作吗?或者你希望我找到你想要的东西吗?@smttsp VPA对于像这样的简单格式来说有点过分了,不是吗?