【数据分析】使用numpy实现多项式的求导以及可视化

使用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实现多项式的求导以及可视化_第1张图片

 

参考:

numpy.poly1d — NumPy v1.18 Manual

numpy.poly1d.deriv — NumPy v1.21 Manual

你可能感兴趣的:(数据分析,数据挖掘,机器学习)