将多项式计算为 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
例如,多项式定义如下:
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