python曲线拟合
http://blog.sina.com.cn/s/blog_aed5bd1d0102vid7.html
1.多项式拟合范例:
import matplotlib.pyplot as plt import numpy as np x = np.arange(1, 17, 1) y = np.array([4.00, 6.40, 8.00, 8.80, 9.22, 9.50, 9.70, 9.86, 10.00, 10.20, 10.32, 10.42, 10.50, 10.55, 10.58, 10.60]) z1 = np.polyfit(x, y, 3) # 用3次多项式拟合 p1 = np.poly1d(z1) print(p1) # 在屏幕上打印拟合多项式 yvals=p1(x) # 也可以使用yvals=np.polyval(z1,x) plot1=plt.plot(x, y, '*',label='original values') plot2=plt.plot(x, yvals, 'r',label='polyfit values') plt.xlabel('x axis') plt.ylabel('y axis') plt.legend(loc=4) # 指定legend的位置,读者可以自己help它的用法 plt.title('polyfitting') plt.show() plt.savefig('p1.png')
2.指定函数拟合
# 使用非线性最小二乘法拟合 import matplotlib.pyplot as plt from scipy.optimize import curve_fit import numpy as np # 用指数形式来拟合 x = np.arange(1, 17, 1) y = np.array([4.00, 6.40, 8.00, 8.80, 9.22, 9.50, 9.70, 9.86, 10.00, 10.20, 10.32, 10.42, 10.50, 10.55, 10.58, 10.60]) def func(x,a,b): return a*np.exp(b/x) popt, pcov = curve_fit(func, x, y) a=popt[0] # popt里面是拟合系数,读者可以自己help其用法 b=popt[1] yvals=func(x,a,b) plot1=plt.plot(x, y, '*',label='original values') plot2=plt.plot(x, yvals, 'r',label='curve_fit values') plt.xlabel('x axis') plt.ylabel('y axis') plt.legend(loc=4) # 指定legend的位置,读者可以自己help它的用法 plt.title('curve_fit') plt.show() plt.savefig('p2.png')
作者:jsp
-------------------------------------------
个性签名:无论在哪里做什么,只要坚持服务、创新、创造价值,其它的东西自然都会来的。
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!