作业帮 > 综合 > 作业

Mathematica 计算精度怎么设置啊,比如要求整个计算过程中所有数值都保留6位有效数字

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/02 01:45:08
Mathematica 计算精度怎么设置啊,比如要求整个计算过程中所有数值都保留6位有效数字
用workprecision吗?查了一下不太会啊,
Mathematica 计算精度怎么设置啊,比如要求整个计算过程中所有数值都保留6位有效数字
这要看情况的啊……可以用N[ ],也可以用SetPrecision[ ].WorkingPrecision只是部分函数的选项,比如Plot,比如NDSolve.
再问: 用$MinPrecision=$MaxPrecision=n的作用是不是类似于某些函数中用WorkingPrecision=n? 还有,N[]或者SetPrecision[],会影响程序计算精度吗?我主要是想让计算过程中精度低一些,从而速度快一些。p.s.关于精度这一块查了帮助和书,感觉很费解,尤其不懂如何设置计算精度(让机器不要考虑更高位的情况)
再答: 精度问题确实是有些麻烦,老实说很多细节我也不是那么清楚,例如你说的$MinPrecision和$MaxPrecision(其实还有一个$MaxExtraPrecision)我就没怎么研究过,但是,这里需要指出的是, 如果真要(真只是)追求速度的话,那就别在精度这问题上纠结了,因为,默认的MachinePrecision(注意不是$MachinePrecision)是最快的,它是一种浮点运算,使用的舍入规则与你上面所提的明确设定精度的运算有所区别,所以在少数极端情况下会得到不合理的结果,但它,至少按帮助的说法,是最快的。 ———— 你若想深入,不妨去Stackexchange问问: mathematica.stackexchange.com