将多项式表达式转换为浮点系数

Convert polynomial expression to float coeffs

这似乎是一个愚蠢的问题,但我搜索了几个小时却没有真正找到我正在寻找的东西。

在 Maple 中,如果你有这样的多项式:

如何在 Maple 中将此表达式转换为具有浮点系数 (s^3 + 19s^2 + 89.13s + 71.13) 的表达式?

我认为这应该嵌入到 collect() 函数中(就像参数 'float')。现在我必须自己计算每个多项式(只使用 Maple 来简化物理学中一些冗长的计算class),这是彻头彻尾的弱智。

谢谢!

使用浮点近似计算结果的最简单方法是使用 evalf 命令:

evalf(collect((s+9+Pi)*(s+9+Pi)*(s+1),s));

returns

147.4182721+s^3+25.28318530*s^2+171.7014573*s

如果您真的只对浮点结果感兴趣,请注意如果原始表达式中的一个或多个项是浮点数,Maple 将以浮点数计算结果。例如:

collect((s+9.+Pi)*(s+9+Pi)*(s+1),s);

另请注意,我在上面的代码中将您使用的小写 pi(希腊字母)更改为 Pi(数学常数)。

不需要使用(或引入)任何明确编写的浮点系数来获得您想要的效果。事实上,您可能有充分的理由希望所有系数都是精确的,也许是为了一些早期的计算。

restart;

S := (s+9-Pi) * (s+9+Pi) * (s+1):

sort( evalf( expand(S) ), s, ascending );

                                                    2    3
                 71.13039560 + 89.13039560 s + 19. s  + s

sort( evalf( expand(S) ), s, descending );

                  3        2
                 s  + 19. s  + 89.13039560 s + 71.13039560

以上内容可能对您有用,如果这还不够:

evalf( expand(S) );

                  3        2
                 s  + 19. s  + 89.13039560 s + 71.13039560