使用numpy函数的polyd()创建多项式:y=x^3+2x^2+3x+4并将该对象赋值给变量aPoly,求解该多项式的一阶导数bPoly和二阶导数cPoly。通过numpy的arange()函数创建数组X,作为直角坐标系的横轴,其取值范围是[-20,20]。在同一幅图上按列创建三个子图,分别绘制aPoly,bPoly,cPoly
import numpy as np
import matplotlib.pyplot as plt
'''
numpy.poly1d:一维多项式类
参数:
c_or_r:array_like
多项式的系数,以递减幂计算。
例如:
poly1d([1, 2, 3]) -> x^2 + 2x + 3
r:bool (可选)
变量:str 可选
'''
aPoly = np.poly1d([1,2,3,4])
#x^3+2x^2+3x+4
bPoly=aPoly.deriv(m=1)
#返回多项式的导数
cPoly = aPoly.deriv(m=2)
X= np.arange(-20,20)
Y1=aPoly(X)
Y2=bPoly(X)
Y3=cPoly(X)
plt.subplot(311)
plt.plot(X,Y1,"r-")
plt.xlabel("X")
plt.ylabel("Y1")
plt.title("Polynomial")
plt.subplot(312)
plt.plot(X,Y2,"go")
plt.xlabel("X")
plt.ylabel("Y2")
plt.title("First-order Derivative")
plt.subplot(313)
plt.plot(X,Y3,"b*")
plt.xlabel("X")
plt.ylabel("Y3")
plt.title("Seconde-order Derivative")
plt.show()
可视化:

参考:
本文介绍如何使用numpy库创建并绘制多项式函数及其一阶和二阶导数。首先定义了一个三次多项式,并利用numpy的poly1d类创建了多项式对象。接着求出该多项式的一阶和二阶导数,并使用matplotlib库在同一图表中绘制原多项式与导数曲线。

被折叠的 条评论
为什么被折叠?



