对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的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
Python使用defaultdict读取文件各列的方法
May 11 Python
Python sqlite3事务处理方法实例分析
Jun 19 Python
python先序遍历二叉树问题
Nov 10 Python
Anaconda 离线安装 python 包的操作方法
Jun 11 Python
Python如何发布程序的详细教程
Oct 09 Python
Python脚本完成post接口测试的实例
Dec 17 Python
python处理multipart/form-data的请求方法
Dec 26 Python
Python3中lambda表达式与函数式编程讲解
Jan 14 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
详解Django中异步任务之django-celery
Nov 05 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
PHP 函数语法介绍一
2009/06/14 PHP
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
Symfony2函数用法实例分析
2016/03/18 PHP
为超链接加上disabled后的故事
2010/12/10 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
js星星评分效果
2014/07/24 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
总结js函数相关知识点
2018/02/27 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python自动生产表情包
2017/03/17 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
python PyTorch预训练示例
2018/02/11 Python
python自动化之Ansible的安装教程
2019/06/13 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
英国航空官网:British Airways
2016/09/11 全球购物
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
怎样声明子类
2013/07/02 面试题
中软国际Java程序员机试题
2012/08/19 面试题
生产车间班组长岗位职责
2014/01/06 职场文书
课内比教学心得体会
2014/09/09 职场文书
端午节寄语2015
2015/03/23 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
nginx请求限制配置方法
2021/07/09 Servers
Element实现动态表格的示例代码
2021/08/02 Javascript
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫