下面是使用 NumPy 查找多项式的根的完整攻略。
NumPy 查找多项式的根
1. 导入 NumPy
首先,需要导入 NumPy 库,使用以下代码行:
import numpy as np
2. 定义多项式
然后,需要定义多项式。可以使用 NumPy 的 poly1d
函数来创建一个多项式函数对象,例如:
p = np.poly1d([1, -5, 6])
这个代码行创建了一个二次多项式 p(x) = x^2 – 5x + 6。
3. 查找多项式的根
现在,可以使用 NumPy 的 roots
函数来查找多项式的根,例如:
roots = np.roots(p)
这个代码行会返回一个数组,包含多项式的所有根。
4. 示例一
接下来,看一个示例来说明上述步骤。例如,需要找到多项式 f(x) = x^3 – 6x^2 + 11x – 6 的根。
首先,定义多项式:
f = np.poly1d([1, -6, 11, -6])
然后,查找多项式的根:
roots = np.roots(f)
print(roots)
输出结果为:
[1. 2. 3.]
这意味着多项式 f(x) 的根是 x = 1, x = 2 和 x = 3。
5. 示例二
再看一个示例来进一步说明如何使用 NumPy 查找多项式的根。假设需要找到多项式 g(x) = x^4 – 4x^3 + 6x^2 – 4x + 1 的根。
首先,定义多项式:
g = np.poly1d([1, -4, 6, -4, 1])
然后,查找多项式的根:
roots = np.roots(g)
print(roots)
输出结果为:
[0.73205081+0.00000000e+00j 0.26794919+0.00000000e+00j
1.00000000+1.71984499e-16j 1.00000000-1.71984499e-16j]
这意味着多项式 g(x) 的根是 x = 0.73205081, x = 0.26794919, x = 1 + 1.71984499e-16j 和 x = 1 – 1.71984499e-16j。
需要注意的是,使用 NumPy 的 roots
函数时,如果多项式有复数根,那么返回的数组中会包含这些复数根及其复共轭根。
以上是使用 NumPy 查找多项式的根的完整攻略,希望可以帮助到你。