mdsk.net
当前位置:首页 >> mAtlAB里面如何保留小数点后三位 >>

mAtlAB里面如何保留小数点后三位

round(x*1000)/1000 或者roundn(x,-3)

a=1.23456789 a = 1.2346 >> b=vpa(a,7) b = 1.234568 >> vpa(a,12) ans = 1.23456789000

可以使用roundn函数: x=rand(3,4); roundn(x,-3); %小数点后保留3位,四舍五入 但是结果在命令窗口中仍会以4位方式显示,只是第4位小数都是0。

乘以1000, 取整,除以1000,即可 a=3.02585 b=round(a*1000)/1000

a=[0.1399,0.1599,0.1799]; digits(2); vpa(a) 得到: ans = [ 0.14, 0.16, 0.18] 重点在于: digits用于设定显示精度,这里就是小数点后两位。 vpa则用于以digits设定的精度来得到数值。 可以看出这样做是四舍五入了的。

一般用format改变精度,format short是单精度; format long是双精度,也可以用digits。 例如: digits(5) vpa(pi) digits(10) vpa(pi) ans = 3.1416 ans = 3.141592654

这个问题我以前也回答过,matlab里面好像只能对总的有效位数进行控制,只对小数的话目前没有太好的办法。有些方法是可以用的,就是太复杂了,比如说 方法1:digits+vpa 方法 该方法是用digits()设定运算精度,然后用vpa获得所要的小数位数。该方...

>> format long >> pi ans = 3.141592653589793 >> format short >> pi ans = 3.1416

vpa命令就可以。 例: >> a=3.18 >> vpa(a,1) ans = 3. >> vpa(a,2) ans = 3.2

你问的这个问题很有意思啊,matlab要保留任意位数,是一个比较值得研究的东西。 默认format也就是format short是保留4位小数,format long 是保留14位,如果要保留两位或者六位,就存在如何设置的问题。本人做了点总结,给出以下方法 方法1:dig...

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com