例如,多项式定义如下:
f:= (x, y) ->333.75x ^ 2 + y ^ 6(11x ^ 2y ^ 2 - y ^ 6 - 12y ^ 4 - 2) + 5.5y ^ 8 + 1/2 * x/y
在maple中,我希望将其评估为5个有效数字,如下所示:
evalf[5](f(77617,33096))
得到1*10^32的值
为什么这不是5签名图?当你增加所需的信号数量时,为什么这个值不接近7.878 * 10^29 ?
谢谢!
不要将工作精度降低到那么低,特别是当您试图计算准确的答案时(然后为了方便而四舍五入)。
更重要的是,对于复合表达式,浮点工作精度(Digits
,或evalf
调用的索引)仅仅是工作精度的规范,而不是是精度请求。
通过降低工作精度,您可以在浮点计算中看到更大的舍入误差。
restart;
f := (x, y) -> 333.75*y^6
+ x^2*(11*x^2*y^2 - y^6 - 12*y^4 - 2)
+ 5.5*y^8 + 1/2*x/y:
for d from 5 to 15 do
evalf[5](evalf[d](f(77617,33096)));
end do;
32
1 10
31
-3 10
30
1 10
29
8 10
29
7.9 10
29
7.88 10
29
7.878 10
29
7.8784 10
29
7.8785 10
29
7.8785 10
29
7.8785 10