python怎么拟合曲线,python拟合曲线误差分析
在实际项目中,经常会有这样的需求,对采集到的数据进行处理(曲线拟合),然后计算出一些想要的参数,比如峰值/倾角值/周期等。下面文章主要介绍如何使用Python拟合函数曲线的相关信息。有需要的可以参考一下。
00-1010拟合多项式函数描述拟合任意函数函数描述总结用Python拟合函数曲线需要一些第三方库:
Numpy:科学计算基础库(例如:matplotlib:绘图库scipy:科学计算库如果这些库还没有安装,需要在命令行输入以下代码进行安装:
pip安装numpy matplotlib scipy
目录
Author:云Sir
日期: 2021年8月1日
最后编辑时间: 2021-08-02 209333436
LastEditors:云先生
描述: Python拟合多项式
https://github.com/cloudsir
将matplotlib.pyplot作为plt导入
将numpy作为np导入
x=[0,1,2,3,4,5,6,7,8,9,10]
y=[2.83,9.53,14.52,21.57,38.26,53.92,73.15,101.56,129.54,169.75,207.59]
Z1=np.polyfit(x,y,3) #用三次多项式拟合,输出系数从高到零。
P1=np.poly1d(z1) #使用合成多项式的次数
y_pre=p1(x)
plt.plot(x,y,.)
plt.plot(x,y_pre)
plt.show()
拟合多项式
np.polyfit(x,y,n)
功能:曲线拟合
参数:
x,y:x和y的原始数据n:拟合的次数返回值:
拟合系数列表,按从高到低的顺序排列:当n=3时,它将使用
a x 3 b x 2 c x d
拟合函数,并返回拟合的系数[a,b,c,d]
np.poly1d(li,r=False)
函数:生成多项式函数
参数:
li:
当没有R参数或者r=False时,传入一个系数列表(从最高到最低),用这个列表生成多项式函数并返回。
将numpy作为np导入
f=np.poly1d([2,3,4])
" " f (x )=2 x 2 3 x 4
打印(f(2)) # 18
当参数r=True时,传入一个根列表,多项式函数由该列表生成并返回。
将numpy作为np导入
f=np.poly1d([2,3,4],True)
" " " f(x)=(x2)(x3)(x4)
"
打印(f(0)) # -24
返回值:
见上
函数说明
Author:云Sir
日期: 2021-08-03 15:01:17
最后编辑时间: 2021-08-03 1533333336
LastEditors:云先生
描述: Python拟合任意函数
https://github.com/cloudsir
#参考库函数
将numpy作为np导入
将matplotlib.pyplot作为plt导入
从scipy导入优化为op
PLT . RC params[ font . sans-serif ]=[ sim hei ]#用于正常显示中文。
PLT . RC params[ axes . unicode _ MINUS ]=false #用于正常显示负号。
#要安装的功能
def f1(x,A,B,C):
返回A * x**2 B * x C
#要拟合的数据集
x_group=[0,1,2,3,4,5,6,7,8,9,10]
y_group=[2.83,9.53,14.52,21.57,38.26,53.92,73.15,101.56,129.54,169.75,207.59]
#获取返回的A,B值
a,B,C=op.curve_fit(f_1,x_group,y_group)[0]
#绘制数据点并与原始数据点进行比较
Plt.scatter (x _ group,y _ group,marker= o ,label= real value )
x=np.arange(0,15,0.01)
y=A * x**2 B *x C
Plt.plot (x,y,color= red ,label=拟合曲线)
Plt.legend() #显示标签
plt.show()
拟合任意函数
op.curve_fit(f,x,y)
函数:拟合任意函数
参数:
f:要拟合的函数类型
#构建一个二次函数
定义f(x,A,B,C):
返回A * x**2 B * x C
Op.curve_fit(f,x,y) #进行拟合
x,y:x和y的原始数据
返回值:一个元组(popt,pcov)
Popt是一维数组,表示得到的拟合方程的参数。Pcov是一个二维数组,是popt参数下得到的协方差。
函数说明
关于如何使用Python来拟合函数曲线的这篇文章到此结束。关于Python拟合函数曲线的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。