用NumPy查找多项式的根
在这篇文章中,让我们来讨论如何找到NumPy数组的多项式的根。它可以用各种方法找到,让我们详细看看。
方法1:使用np.roots()
该函数返回系数为p的多项式的根,多项式的系数将按各自的顺序放入一个数组中。
例如,如果多项式是x 2 +3x +1 ,那么数组将是[1, 3, 1] 。
语法 : numpy.roots(p)
参数 :
p :[array_like] 多项式系数的Rank-1数组。
返回 : [ndarray] 一个包含多项式的根的数组。
让我们看看一些例子。
例子1:求多项式x 2 +2x +1的根。
# import numpy library
import numpy as np
# Enter the coefficients of the poly in the array
coeff = [1, 2, 1]
print(np.roots(coeff))
输出:
[-1. -1.]
例2:求多项式x 3 +3 x 2 /+ 2x +1的根。
# import numpy library
import numpy as np
# Enter the coefficients of the poly
# in the array
coeff = [1, 3, 2, 1]
print(np.roots(coeff))
输出:
[-2.32471796+0.j -0.33764102+0.56227951j -0.33764102-0.56227951j]
方法2:使用np.poly1D()。
这个函数有助于定义一个多项式函数。它使在多项式上应用 “自然操作 “变得容易。多项式的系数要按各自的顺序放在一个数组中。
例如,对于多项式x2 +3x +1,数组将是[1, 3, 1] 。
步骤:
- 在数组上应用函数np.poly1D()并将其存储在一个变量中。
- 通过将变量乘以根或r(内置关键字)来寻找根,并打印结果以获得给定多项式的根。
语法: numpy.poly1d(arr, root, var)
让我们看看一些例子。
例子1:求多项式x 2 +2x +1的根。
# import numpy library
import numpy as np
# enter the coefficients of poly
# in the array
p = np.poly1d([1, 2, 1])
# multiplying by r(or roots) to
# get the roots
root_of_poly = p.r
print(root_of_poly)
输出:
[-1. -1.]
例2:找出多项式x 3 +3 x 2 /+ 2x +1的根。
# import numpy library
import numpy as np
# enter the coefficients of poly
# in the array
p = np.poly1d([1, 3, 2, 1])
# multiplying by r(or roots) to get
# the roots
root_of_poly = p.r
print(root_of_poly)
输出:
[-2.32471796+0.j -0.33764102+0.56227951j -0.33764102-0.56227951j]