时间:2021-05-22
本文实例讲述了Python线性拟合实现函数与用法。分享给大家供大家参考,具体如下:
1. 参考别人写的:
#-*- coding:utf-8 -*-import mathimport matplotlib.pyplot as pltdef linefit(x , y): N = float(len(x)) sx,sy,sxx,syy,sxy=0,0,0,0,0 for i in range(0,int(N)): sx += x[i] sy += y[i] sxx += x[i]*x[i] syy += y[i]*y[i] sxy += x[i]*y[i] a = (sy*sx/N -sxy)/( sx*sx/N -sxx) b = (sy - a*sx)/N r = abs(sy*sx/N-sxy)/math.sqrt((sxx-sx*sx/N)*(syy-sy*sy/N)) return a,b,rif __name__ == '__main__': x=[ 1 ,2 ,3 ,4 ,5 ,6] y=[ 2.5 ,3.51 ,4.45 ,5.52 ,6.47 ,7.51] a,b,r=linefit(x,y) print("X=",x) print("Y=",y) print("拟合结果: y = %10.5f x + %10.5f , r=%10.5f" % (a,b,r) ) plt.plot(x, y, "r:", linewidth=2) plt.grid(True) plt.show()显示图像如下:
2. 不用拟合,直接显示一个一元函数
#-*- coding:utf-8 -*-import numpy as npimport matplotlib.pyplot as pltimport mathf = lambda x:5*x+4tx = np.linspace(0,10,50)print txplt.plot(tx, f(tx), "r-", linewidth=2)plt.grid(True)plt.show()运行结果:
PS:这里再为大家推荐两款相似的在线工具供大家参考:
在线多项式曲线及曲线函数拟合工具:
http://tools.jb51.net/jisuanqi/create_fun
在线绘制多项式/函数曲线图形工具:
http://tools.jb51.net/jisuanqi/fun_draw
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
R语言进行线性回归的拟合度。本文只是使用R做回归计算,查看拟合度等,不讨论R函数的内部公式在R中线性回归分析的函数是lm(),基本语法是一元回归:lm(y~x,
背景:实现用python的optimize库的fsolve对非线性方程组进行求解。可以看到这一个问题实际上还是一个优化问题,也可以用之前拟合函数的leastsq
Lasso原理Lasso与弹性拟合比较python实现importnumpyasnpimportmatplotlib.pyplotaspltfromsklear
本文实例讲述了Java实现求解一元n次多项式的方法。分享给大家供大家参考,具体如下:项目需要做趋势预测,采用线性拟合、2阶曲线拟合和指数拟合的算法,各种线性拟合
本文实例讲述了Python实现的拟合二元一次函数功能。分享给大家供大家参考,具体如下:背景:使用scipy拟合一元二次函数。参考:HYRYStudio-《用Py