如何在mathematica中设置舍入精度

时间:2011-04-21 01:07:28

标签: wolfram-mathematica

我想说明一些数值算法的稳定性。我想根据通常的规则使用Mathematica来舍入浮点数,例如:

myRound[3/80.]=0.038如果我将精度指定为2位数。

另一个

myRound[89/47.]=1.89

所以给定一个精确数字,如何编写myRound函数?请帮忙。非常感谢。

2 个答案:

答案 0 :(得分:3)

您应该查看NumberForm。例如:

NumberForm[89.0/47.0, 3]

返回1.89。

在我看来,如果你真的想要说明问题,你应该查看ComputerArithmetic包。它有很好的记录,所以我会留下它。

答案 1 :(得分:3)

我不确定这是你想要的:

In[34]:= customRound[x_Real] := 
 Round[x, 10^Round[RealExponent[x]]*0.01]

In[35]:= customRound[3/80.]

Out[35]= 0.038

In[36]:= customRound[89/47.]

该功能实际上改变了数字,而不仅仅是改变它的显示方式。

相关问题