Wolfram mathematica 在Mathematica中,如何切断多项式中的高阶项?

Wolfram mathematica 在Mathematica中,如何切断多项式中的高阶项?,wolfram-mathematica,Wolfram Mathematica,例如,我有一个多项式y=a_0+a_1 x+…+a_50 x ^50。因为我知道高阶项对y的求值影响可以忽略不计,所以我想去掉它们,得到类似于y=a_0+a_1 x+…+a_10 x^10,前11个术语。我怎样才能意识到这一点 我提前向大家表示感谢。如果你的多项式真的像图中所示的那样简单,每个幂都有一个表示x的项,而没有其他项,你可以简单地使用Take或Part来提取你想要的项,因为Mathematica使用的是自动排序(在Plus)。例如: In[1]:= y = a0 + a1*x + a2

例如,我有一个多项式y=a_0+a_1 x+…+a_50 x ^50。因为我知道高阶项对y的求值影响可以忽略不计,所以我想去掉它们,得到类似于y=a_0+a_1 x+…+a_10 x^10,前11个术语。我怎样才能意识到这一点


我提前向大家表示感谢。

如果你的多项式真的像图中所示的那样简单,每个幂都有一个表示
x
的项,而没有其他项,你可以简单地使用
Take
Part
来提取你想要的项,因为Mathematica使用的是自动排序(在
Plus
)。例如:

In[1]:= y = a0 + a1*x + a2*x^2 + a3*x^3 + a4*x^4;
y /. x^b_ /; b >= 3 -> 0

Out[2]= a0 + a1 x + a2 x^2
exp1 = Expand[(1 + x)^9]

Take[exp1, 5]

如果不是,你就需要别的东西。比尔替换规则是一种简洁而有效的方法。对于更复杂的操作,您可能希望使用数学上正确的方法来分解多项式

  Series[ a0 + a1*x + a2*x^2 + a3*x^3 + a4*x^4, {x, 0, 2}] // Normal

  -> a0 + a1 x + a2 x^2

我相信这个问题属于问题,请解释一下这里发生了什么。在表达式y中,在指数大于或等于3的条件下,将模式x^b(即x的任意幂b)替换为(即->)零。因此,所有n>=3的x^n变为0,0*an=0,这些项从表达式中消失。
  Series[ a0 + a1*x + a2*x^2 + a3*x^3 + a4*x^4, {x, 0, 2}] // Normal

  -> a0 + a1 x + a2 x^2