四舍五入数字



我有矩阵100*100(行*列),它包含0.00051,0.00052,0.00056等数字。我试图对这些数字进行四舍五入,但问题是使用CCD_ 3将仅给出CCD_。我想四舍五入,所以

0.00051 become 0.0005
0.00052 become 0.0005
0.00056 become 0.0006

感谢

这个确切的问题是在MATLAB Central上提出的,由Roger Stafford回答:http://www.mathworks.com/matlabcentral/newsreader/view_thread/169196?requestedDomain=www.mathworks.com

为了你的方便窃取他的答案:

要实际将数字n更改为最接近的四位小数,请执行以下操作:

m=4;%有效小数位数
k=地板(log10(abs(n))-m+1
n2=圆形(n/10^k)*10^k;

或者,您可以从Matlab文件交换中获取roundn(x,n),然后执行roundn的操作(x,-4)。http://www.mathworks.com/matlabcentral/fileexchange/37067-roundn-x-n--returns-x-rounded-to-n-digits

现在,对于Mohamed建议的简单解决方案:根据Matlab文档,使用round(x,4)。http://www.mathworks.com/help/matlab/ref/round.html

这一切都是一个快速的谷歌搜索。请以后做研究。