【matlab】 关于保留小数位数&有效数字的问题

转载自http://blog.sina.com.cn/s/blog_6d0d6b770100xc03.html

(保留小数点后3位)

1.         a=[1.45867945,2.78054325,2.46799643]

  

>> answer=(round(a.*1000))./1000

 

answer =

 

1.4590    2.7810    2.4680

此时在小数点3位以后的数字都置零,也就是说有效数字的个数并没有改变。

 

2.         vpa(a,4)

 

ans =

 

[ 1.459, 2.781, 2.468]

此时输出的是sym类型数据,查看数据很不方便。

注:vpa中第二个参数实际上是有效数字的个数。

 

3.         一个傻瓜办法,但是很好用。把数据拷贝到EXCEL里面,在单元格格式中设置保留小数点后几位即可。这样可以把需要位数以后的数据直接截断,不会出现n0的情况,写文档的时候比较方便。

4.         附注:matlab默认显示小数点后四位小数,并不是它自动截断了,而是没有显示而已。你可以把数据粘出来看看,是很长很长的一串数字。所以完全不用担心计算精度的问题。如果实在想看看小数点后面好多好多位的数字,就用“format long”就完了。

你可能感兴趣的:(渣渣学习史,matlab)