在Matlab中,如何控制在命令窗口中显示的小数位数?
例如,
>> x = 0.4654
x =
0.4654
如何在命令窗口中将变量x的值分别显示为0.5,0.47,0.465?
谢谢!
答案 0 :(得分:4)
我认为没有内置到任意位置的舍入,但你可以通过舍入(x * 10 ^ 位数)/ 10 ^ 数来实现舍入结果地方。这打印出尾随的零,如果你想摆脱那些你必须做一个特殊格式的打印像sprintf到度,所以在你的情况下你可以得到你想要的结果:
sprintf('%.1f', round(x*10)/10)
sprintf('%.2f', round(x*100)/100)
sprintf('%.3f', round(x*1000)/1000)
我希望有所帮助!
编辑:如果你想为矩阵做这个,我不确定是否有更好的方法,但你可以将给定x的行作为矩阵循环:
for i=1:length(x(:,1)),
disp(sprintf('%.2f\t', round(x(i,:)*100)/100))
end
答案 1 :(得分:2)
您可以使用format
命令控制命令窗口。我建议您查看doc format
,它会为您提供具体选项。
如果您需要更高的精确度,最好使用disp
和/或舍入函数,例如:z = round(x/y)*y
答案 2 :(得分:0)
更改格式。
format shortG