用Mathematica怎么将输出指定精确到小数
精度和准确度控制
Wolfram 语言具有先进的内置数值精度控制和准确度控制. 对于特定用途的数值计算优化,或数值分析的研究,Wolfram 语言同样允许详细的精度和准确度控制.
N - 指定精度和准确度的数值计算
PrecisionGoal, AccuracyGoal -计算精度和准确度的目标
WorkingPrecision - 内部算法使用的精度
Precision -求数值的精度
Accuracy -求数值的准确度
Chop - 设置足够小的数字或虚部为零
SetPrecision, SetAccuracy - 重设数值的精度和准确度
$MinPrecision, $MaxPrecision - 设置全局精度边界
$MaxExtraPrecision - 内部算法使用的最大精度
控制结果的精度
在进行数值操作如 NDSolve 和 NMinimize 时,Wolfram 语言默认地使用机器精度数. 但是通过设置选项 WorkingPrecision->n 用户可以使用任意 n 位精度的数字.
这里进行数值积分的机器精度数的计算.
In[1]:= NIntegrate[Sin[Sin[x]], {x, 0, 1}]
Out[1]= 0.430606
这里进行使用30位任意精度数进行计算.
In[2]:= NIntegrate[Sin[Sin[x]], {x, 0, 1}, WorkingPrecision -> 30]
Out[2]= 0.430606103120690604912377355248
如果用户对 WorkingPrecision 给出设置,这就通常定义了计算所得结果的精度的上限. 但是在这个约束条件下,用户可以告诉 Wolfram 语言自己想要达到的精度和准确度为多少. 用户应该意识到对于许多不同种的数值操作,如果只对精度目标和准确度目标增加小数目的数位,通常会大幅度地增加计算时间. 然而,在许多情况下,确保获得高精度和准确度是很重要的.
另外相关的参数设置是:
WorkingPrecision 内部计算中保持的精度位数
PrecisionGoal 尝试获得的精度的位数
AccuracyGoal 尝试获得的准确度的位数
用N[]设置数值结果的精度:
In[1]:= N[Pi, 10]
Out[1]= 3.141592654