对python指数、幂数拟合curve_fit详解


Posted in Python onDecember 29, 2018

1、一次二次多项式拟合

一次二次比较简单,直接使用numpy中的函数即可,polyfit(x, y, degree)。

2、指数幂数拟合curve_fit

使用scipy.optimize 中的curve_fit,幂数拟合例子如下:

from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
import numpy as np
 
def func(x, a, b, c):
 return a * np.exp(-b * x) + c
 
xdata = np.linspace(0, 4, 50)
y = func(xdata, 2.5, 1.3, 0.5)
ydata = y + 0.2 * np.random.normal(size=len(xdata))
plt.plot(xdata,ydata,'b-')
popt, pcov = curve_fit(func, xdata, ydata)
#popt数组中,三个值分别是待求参数a,b,c
y2 = [func(i, popt[0],popt[1],popt[2]) for i in xdata]
plt.plot(xdata,y2,'r--')
print popt

下面是原始数据和拟合曲线:

对python指数、幂数拟合curve_fit详解

下面是指数拟合例子:

def fund(x, a, b):
 return x**a + b
 
xdata = np.linspace(0, 4, 50)
y = fund(xdata, 2.5, 1.3)
ydata = y + 4 * np.random.normal(size=len(xdata))
plt.plot(xdata,ydata,'b-')
popt, pcov = curve_fit(fund, xdata, ydata)
#popt数组中,三个值分别是待求参数a,b,c
y2 = [fund(i, popt[0],popt[1]) for i in xdata]
plt.plot(xdata,y2,'r--')
print popt

下图是原始数据和拟合曲线:

对python指数、幂数拟合curve_fit详解

以上这篇对python指数、幂数拟合curve_fit详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用语句导入模块或包的机制研究
Mar 30 Python
Python解惑之True和False详解
Apr 24 Python
深度辨析Python的eval()与exec()的方法
Mar 26 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
Aug 26 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
Pytorch实现的手写数字mnist识别功能完整示例
Dec 13 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
Keras使用ImageNet上预训练的模型方式
May 23 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
去除python中的字符串空格的简单方法
Dec 22 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 Python
python办公自动化之excel的操作
May 23 Python
对python实现二维函数高次拟合的示例详解
Dec 29 #Python
pip安装py_zipkin时提示的SSL问题对应
Dec 29 #Python
Python 做曲线拟合和求积分的方法
Dec 29 #Python
python 画三维图像 曲面图和散点图的示例
Dec 29 #Python
python实现三维拟合的方法
Dec 29 #Python
Django数据库连接丢失问题的解决方法
Dec 29 #Python
Python Cookie 读取和保存方法
Dec 28 #Python
You might like
Yii中创建自己的Widget实例
2016/01/05 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
JavaScript原型链示例分享
2014/01/26 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
python读文件逐行处理的示例代码分享
2013/12/27 Python
Python map和reduce函数用法示例
2015/02/26 Python
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
Django接收自定义http header过程详解
2019/08/23 Python
Python使用贪婪算法解决问题
2019/10/22 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
python不同系统中打开方法
2020/06/23 Python
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
SOKOLOV官网:俄罗斯珠宝首饰品牌
2021/01/02 全球购物
军人违纪检讨书
2014/02/04 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
老公爱的承诺书
2014/03/31 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
领导干部“四风”查摆问题个人整改措施
2014/10/28 职场文书
【海涛教你打dota】体验一超神发条:咱是抢盾专业户
2022/04/01 DOTA
一文搞懂Java中的注解和反射
2022/06/21 Java/Android