要使用NumPy库查找多项式的根,需要进行以下步骤:
1. 导入NumPy库
使用以下命令导入NumPy库:
import numpy as np
2. 创建多项式对象
使用NumPy库中的poly1d()函数创建多项式对象。例如,创建一个三次多项式:
p = np.poly1d([1, -2, -3, 2])
这个多项式的系数为1,-2,-3和2,对应的多项式为$x^3 – 2x^2 – 3x + 2$。
3. 查找多项式的根
使用NumPy库中的roots()函数查找多项式的根。例如,要查找上面创建的多项式的根,可以使用以下命令:
r = np.roots(p)
print(r)
输出为:
[ 2. 1. 0.99999993]
这个多项式有三个根,分别为2,1和0.99999993。注意到第三个根略微不同于1,这是由于小数点精度问题造成的。我们可以使用round()
函数将其四舍五入为1。
第二个示例:
假设我们要查找$2x^3+3x^2-x+5$的根,我们可以使用以下代码:
p = np.poly1d([2, 3, -1, 5])
r = np.roots(p)
print(r)
输出结果为:
[-2.69624343 0.24467932 0.09256411]
这个多项式有三个根,分别为-2.6962,0.2447和0.0926。
需要注意的是,NumPy库中的roots()函数只能找到多项式的复根,如果要找到实根,则需要使用其他数值计算库,或者自己手写实现。