对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正则表达式 re模块使用说明
May 19 Python
python操作mongodb根据_id查询数据的实现方法
May 20 Python
在Python中用get()方法获取字典键值的教程
May 21 Python
详解Python中的Cookie模块使用
Jul 06 Python
Python使用PDFMiner解析PDF代码实例
Mar 27 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
使用Python进行QQ批量登录的实例代码
Jun 11 Python
Python 项目转化为so文件实例
Dec 23 Python
python实现贪吃蛇游戏源码
Mar 21 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
Aug 05 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
python基于openpyxl生成excel文件
Dec 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
php 读取shell管道传输过来的内容
2010/03/01 PHP
php学习之运算符相关概念
2011/06/09 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
python两种遍历字典(dict)的方法比较
2014/05/29 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
python绘制玫瑰的实现代码
2020/03/02 Python
通过Python实现一个简单的html页面
2020/05/16 Python
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
医院办公室主任职责
2013/12/29 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
高级工程师英文求职信
2014/03/19 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
2014年维稳工作总结
2014/11/18 职场文书
环卫处个人工作总结
2015/03/04 职场文书
运动会三级跳加油稿
2015/07/21 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python