np.poly1d函数在此程序中做什么?

时间:2019-12-19 18:46:16

标签: python-3.x numpy

我必须了解poly1d()函数的工作原理,尤其是在删除元素的情况下。 这里是一个例子:

x = np.array([1,2,3,4])
pol =  np.poly1d(x)
print(pol)
for i in range(x.size):
    pol = np.poly1d(np.delete(x,i))
    print(pol)

输出:

   3     2
1 x + 2 x + 3 x + 4
   2
2 x + 3 x + 4
   2
1 x + 3 x + 4
   2
1 x + 2 x + 4
   2
1 x + 2 x + 3

这里发生了什么,为什么? pol正在更改,但不会删除索引i处的值。

1 个答案:

答案 0 :(得分:0)

In [301]: x = np.array([1,2,3,4]) 
     ...: pol =  np.poly1d(x) 
     ...: print(pol) 
     ...: for i in range(x.size): 
     ...:     pol = np.poly1d(np.delete(x,i)) 
     ...:     print(pol) 
     ...:                                                                       
   3     2
1 x + 2 x + 3 x + 4
   2
2 x + 3 x + 4
   2
1 x + 3 x + 4
   2
1 x + 2 x + 4
   2
1 x + 2 x + 3

这将显示一个具有[1,2,3,4],[2,3,4],[1,3,4]和[1,2,3]系数的多边形。这有什么神秘之处?

相关问题