python高斯拟合_如何在python中拟合高斯曲线?
有很多方法可以将高斯函数拟合到数据集。我经常在拟合数据时使用astropy,这就是为什么我想添加这个作为额外的答案。
我使用的一些数据集应该模拟高斯噪声:import numpy as np
from astropy import modeling
m = modeling.models.Gaussian1D(amplitude=10, mean=30, stddev=5)
x = np.linspace(0, 100, 2000)
data = m(x)
data = data + np.sqrt(data) * np.random.random(x.size) - 0.5
data -= data.min()
plt.plot(x, data)
然后拟合它实际上非常简单,您可以指定要拟合数据的模型和拟合者:fitter = modeling.fitting.LevMarLSQFitter()
model = modeling.models.Gaussian1D() # depending on the data you need to give some initial values
fitted_model = fitter(model, x, data)
并绘制:plt.plot(x, data)
plt.plot(x, fitted_model(x))
不过,也可以只使用Scipy,但必须自己定义函数:from scipy import optimize
def gaussian(x, amplitude, mean, stddev):
return amplitude * np.exp(-((x - mean) / 4 / stddev)**2)
popt, _ = optimize.curve_fit(gaussian, x, data)
这将返回拟合的最佳参数,您可以这样绘制:plt.plot(x, data)
plt.plot(x, gaussian(x, *popt))
python高斯拟合_如何在python中拟合高斯曲线?相关推荐
- python 线性回归模型_如何在Python中建立和训练线性和逻辑回归ML模型
python 线性回归模型 Linear regression and logistic regression are two of the most popular machine learning ...
- unbantu上python安装步骤_如何在Ubuntu中安装Python 3.6?
Python是增长最快的主要通用编程语言.原因有很多,比如它的可读性和灵活性,易于学习和使用,可靠和高效. 有两个主要的Python版本被使用- 2和3 (Python的现在和未来);前者将看不到新的 ...
- python进程暂停_如何在Python中暂停多进程?
我希望用户能够在怎么开始的实现它?在 我的代码是:# -*- coding: utf-8 -*- from PySide import QtCore, QtGui from Ui_MainWindow ...
- python 概率分布函数_如何在Python中实现这五类强大的概率分布
匿名用户 1级 2016-04-25 回答 首页 所有文章 观点与动态 基础知识 系列教程 实践项目 工具与框架应用 工具资源 伯乐在线 > Python - 伯乐在线 > 所有文章 &g ...
- python mqtt库_如何在 Python 中使用 MQTT
Python 是一种广泛使用的解释型.高级编程.通用型编程语言.Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词).Python 让开发者能 ...
- python 获取当前目录_如何在Python中获取当前的工作目录?
python 获取当前目录 To get the current working directory in Python, there is a library function getcwd() i ...
- eclipse配置python开发环境_如何在Eclipse中配置python开发环境
展开全部 步骤1: 下载用于在2113Eclipse中开发Python的插件PyDev. 步骤2: 解压5261python.将解压后的features和plugins文件4102夹中的1653内容拷 ...
- win10系统64位安装python什么版本_如何在win10中安装Python
本文主要讲解win10如何安装python,希望对初学的小伙伴有帮助.环境:win 10 64位操作系统1.python下载https://www.python.org/downloads/2.x和3 ...
- python标题行_如何在python datafram中更改标题行
在python中使用pandas更改现有数据帧中的头行时遇到问题.导入pandas和csv文件后,我将一个标题行设置为None,以便能够在转置后删除重复的日期.但是这会留下一个我不想要的行标题(实际上 ...
- python自增_如何在python语言实现自增和自减功能并显示结果
在python语言中,跟Java和JavaScript语言不一样,python中没有自增和自减功能,而Java和JavaScript中有.但是,python语言可以使用变量加1或减1替换.下面利用几个 ...
最新文章
- Linux Terminal 控制终端的使用
- python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...
- 经典面试题-Linux Kernel面试题
- tomcat server.xml文件的配置解析
- python分布式爬虫系统_如何构建一个分布式爬虫:理论篇
- ASP.NET和C#中对XML的操作,以及简单的xml与xsl !
- Design Compiler指南——设计综合过程
- python 合并excel 自动更新_手把手教你4种方法用Python批量实现多Excel多Sheet合并
- 如何在多个SQL Server上执行作业
- CCNA实验前准备(转)
- 网络计算机amd,AMD多屏显示设置指南_计算机硬件和网络_IT /计算机_信息
- 蒙氏三段卡素材---蚂蚱三段卡
- git push时报错error: File: xxx 252.15 MB, exceeds 100.00 MB.
- Required field ‘client_protocol‘ is unset 原因探究
- 第三章习题2存款利息的计算
- P1055 [NOIP2008 普及组] ISBN 号码 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字、11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx
- HTML怎么把图片占满表格,CSS解决表格或图片内容将页面撑开的办法
- 第一章 行列式 第四五节 对换/行列式的性质
- WoldPress从0开始建站(二):大哥你看我美不美
- 雄迈IPC引领智能化时代潮流