0

使用 Mathematica 时,给出以下表达式:

In[429]:= 100*(1 - 0.002)^5*(1 - 0.005)*(1 - 0.006)*3.5
Out[430]= 342.7127137548418

我尝试使用 N[]、SetPrecision[] 等。但无法获得342.712713754841762864根据网站显示的实际值。

如何防止 Mathematica 舍入结果?

4

2 回答 2

1

Idk,你是否已经找到了答案,但你可以只是FullForm你的表达。我真的很震惊,在我的情况下准确计算是如此困难4852.95 + 14000

于 2019-12-16T15:35:37.757 回答
0

你可以,但不应该。

如果您希望结果更精确,您可以输入123.456`digits of precision所有十进制数字来设置它们的精度及其结果。这会将您的原始表达式转换为诸如 之类的东西100*(1 - 0.002`25)^5*(1 - 0.005`25)*(1 - 0.006`25)*3.5`25,从而给出 的预期结果342.7127137548417628640000。但是请注意,Mathematica 主要适用于显式有理数,例如1/200,以获得准确的结果。但是,除了精度之外,我没有看到浮点值固有的其他问题。

于 2015-06-29T13:07:43.663 回答