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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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.poly1d — NumPy v1.18 Manual

numpy.poly1d.deriv — NumPy v1.21 Manual

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值