将多项式计算为 5 个有效数字但只有 1 个 sig fig returns - Maple Programming

Evaluating polynomials to 5 significant figures but only 1 sig fig returns - Maple Programming

例如,多项式定义如下:

f := (x, y) -> 333.75y^6 + x^2(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 sig fig?当您增加所需的 sig fig 数量时,为什么这不接近 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