,,python多项式拟合之np.polyfit 和 np.polyld详解

,,python多项式拟合之np.polyfit 和 np.polyld详解

本文主要介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: