本文主要介绍python多项式拟合的np.polyfit和np.polyld的示例代码。python数据拟合主要可以使用numpy库,库可以用pip install numpy等直接安装。有需要的朋友可以跟边肖学习。
Python数据拟合主要可以使用numpy库,pip install numpy可以直接用来安装库。
1.原始数据:如果要拟合的数据yyy来自sin函数,np.sin
将numpy作为np导入
将matplotlib.pyplot作为plt导入
Xxx=np.arange(0,1000) # x值,表示弧度。
Yyy=np.sin(xxx*np.pi/180) #函数值,换算成度数。
2.测试不同阶的多项式,如7阶多项式拟合。使用np.polyfit拟合和np.polyld获得多项式系数。
Z1=np.polyfit(xxx,yyy,7) #用7次多项式拟合可以改变多项式阶数;
P1=np.poly1d(z1) #得到多项式系数,从高到低排列。
打印(p1) #显示多项式
3.找到对应于xxx的拟合函数值
yvals=P1(xxx)# yvals=NP . polyval(Z1,XXX)可以直接使用。
4.绘制如下
plt.plot(xxx,yyy,' * ',label='原始值')
plt.plot(xxx,yvals,' r ',label='polyfit values ')
plt.xlabel('x轴')
plt.ylabel('y轴')
Plt.legend(loc=4) #指定图例在图中的位置,类似于象限的位置。
plt.title('多拟合')
plt.show()
5.np.polyfit函数:采用最小二乘拟合,numpy。polyfit (x,y,deg,rcond=none,full=false,w=none,cov=false),前三个参数是必需的。
正式文件:3359 docs . scipy . org/doc/numpy-1 . 13 . 0/reference/generated/numpy . poly fit . html
6.np.polyld函数:获取多项式系数主要有三个参数。
一维多项式类。
一个方便的类,用于封装
多项式,以便所述操作可以采用它们习惯的
代码形式(参见示例)。
因素
-
c_or_r:类似数组
多项式的系数,递减幂,或者如果
第二个参数的值为真,即多项式的
根(多项式等于0的值)。举个例子,
“poly1d([1,2,3])”返回一个表示
:math:`x^2 2x 3 ',而`` poly1d([1,2,3),True)` `返回
一个代表:数学:`(x-1)(x-2)(x-3)=x^3 - 6x^2 11x -6 `。
r : bool,可选
如果为真,` c_or_r '指定多项式的根;默认
是假的。
变量:str,可选
将打印“p”时使用的变量从“x”更改为“变量”
(参见示例)。
参数1的意思是:当没有参数2时(即参数2默认为False时),参数1是一个数组,从高到低表示多项式系数项。例如,参数1为[4,5,6]表示:
参数2表示:为真时,表示参数1中的参数作为根形成多项式,即当参数1为[4,5,6]时,表示:(x-4)(x-5)(x-6)=0,即:
3参数指示:改变参数标识,你习惯了X,可以用T,S之类的。
用法:
1.直接执行运算,如多项式的平方,并获得
xx=np.poly1d([1,2,3])
打印(xx)
Yy=xx**2 #平方,或者用xx * xx
打印(年)
2.评估:
yy(1)=36
3.求根:方程为0时的未知值。
yy.r
4.获取系数以形成数组:
Yy.c是:数组([ 1,4,10,12,9])
5.返回最高功率:
年顺序=4
6.返回系数:
Yy[0] ——表示幂为0的系数。
Yy[1] ——表示以1为幂的系数。
总结
以上是边肖介绍的python多项式拟合的np.polyfit和np.polyld的详细讲解。希望对你有帮助,非常感谢你对我们网站的支持!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。