用NumPy查找多项式的根

用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] 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 多项式