Python numpy.poly1d()
numpy.poly1d()函数有助于定义一个多项式函数。它使得在多项式上应用 “自然操作 “变得容易。
语法: numpy.poly1d(arr, root, var)
参数 :
arr :[array_like] 多项式系数按照幂的递减顺序给出。如果第二个参数(根)被设置为True,那么数组值就是多项式方程的根。
root :[bool, optional] 真意味着多项式的根。默认为假。
var :我们在多项式中需要的变量如x、y、z[默认为x]。
参数: c :多项式系数。 coef :多项式系数。 coefficients :多项式系数。 order :多项式的阶数或程度。 o :多项式的阶数或程度。 r :多项式的根。 roots :多项式的根。
返回:多项式和应用的操作
代码1:解释poly1d()和它的参数
# Python code explaining
# numpy.poly1d()
# importing libraries
import numpy as np
# Constructing polynomial
p1 = np.poly1d([1, 2])
p2 = np.poly1d([4, 9, 5, 4])
print ("P1 : ", p1)
print ("\n p2 : \n", p2)
# Solve for x = 2
print ("\n\np1 at x = 2 : ", p1(2))
print ("p2 at x = 2 : ", p2(2))
# Finding Roots
print ("\n\nRoots of P1 : ", p1.r)
print ("Roots of P2 : ", p2.r)
# Finding Coefficients
print ("\n\nCoefficients of P1 : ", p1.c)
print ("Coefficients of P2 : ", p2.coeffs)
# Finding Order
print ("\n\nOrder / Degree of P1 : ", p1.o)
print ("Order / Degree of P2 : ", p2.order)
输出 :
P1 :
1 x + 2
p2 :
3 2
4 x + 9 x + 5 x + 4
p1 at x = 2 : 4
p2 at x = 2 : 82
Roots of P1 : [-2.]
Roots of P2 : [-1.86738371+0.j -0.19130814+0.70633545j -0.19130814-0.70633545j]
Coefficients of P1 : [1 2]
Coefficients of P2 : [4 9 5 4]
Order / Degree of P1 : 1
Order / Degree of P2 : 3
代码2:多项式的基本数学运算
# Python code explaining
# numpy.poly1d()
# importing libraries
import numpy as np
# Constructing polynomial
p1 = np.poly1d([1, 2])
p2 = np.poly1d([4, 9, 5, 4])
print ("P1 : ", p1)
print ("\n p2 : \n", p2)
print ("\n\np1 ^ 2 : \n", p1**2)
print ("p2 ^ 2 : \n", np.square(p2))
p3 = np.poly1d([1, 2], variable = 'y')
print ("\n\np3 : ", p3)
print ("\n\np1 * p2 : \n", p1 * p2)
print ("\nMultiplying two polynimials : \n",
np.poly1d([1, -1]) * np.poly1d([1, -2]))
输出 :
P1 :
1 x + 2
p2 :
3 2
4 x + 9 x + 5 x + 4
p1 ^ 2 :
2
1 x + 4 x + 4
p2 ^ 2 :
[16 81 25 16]
p3 :
1 y + 2
p1 * p2 :
4 3 2
4 x + 17 x + 23 x + 14 x + 8
Multiplying two polynomials :
2
1 x - 3 x + 2