目录

  • 目标
  • 软件
  • 理论
  • 公式
  • Origin拟合
  • Python拟合
    • 代码
    • 拟合效果
    • 输出
    • 关于数据初始化
  • 总结
  • 参考
  • data

目标

光谱曲线拟合,采用洛伦兹函数。
继python数据处理2: 拟合数据、整合数据、导出数据的一个应用。

软件

OriginPro 8.5
Anaconda3 + Spyder 3.3.6 + Python 3.7.4

理论

为什么原子光谱线具有宽度?https://www.zhihu.com/question/59484318
高斯分布+柯西-洛伦兹分布+三种光谱线型函数(洛伦兹线型函数+多普勒[高斯]线型函数+vogit 线型函数)https://blog.csdn.net/Gou_Hailong/article/details/105761432

公式

洛伦兹函数

y=y0+2Aπw4∗(x−xc)2+w2y = y_0 + \frac{2A}{\pi}\frac{w}{4*(x-x_c)^2 + w^2} y=y0​+π2A​4∗(x−xc​)2+w2w​

Origin拟合

Analsysis>>Fitting>>Nonlinear Cuver Fit>>Peak function>>Lorentz

Python拟合

代码

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy.optimize import curve_fitdef Lorentz(x,y0,A,xc,w):y = y0 + (2*A/np.pi)*(w/(4*(x-xc)**2 + w**2))return yfileName = 'data.csv'
data = pd.read_csv(fileName)x = data['x']
y = data['y']fig, ax = plt.subplots()
ax.plot(x,y,'o')p,c = curve_fit(Lorentz, x, y,p0=[-100,500,427.5,0.1],absolute_sigma=True)
y0,A,xc,w=pxfit = np.linspace(x.min(),x.max(),100)
yfit = Lorentz(xfit,y0,A,xc,w)ax.plot(xfit,yfit,'-')print('y0,A,xc,w:')
print(y0,A,xc,w)
print('y0,A,xc,w: standard error')
print(np.sqrt(np.diag(c)))

拟合效果

输出

y0,A,xc,w:
-96.63499195846272 645.4678298613572 427.4514687215421 0.1322134848839823
y0,A,xc,w: standard error
[1.01581504e+00 6.69016313e-01 2.91213859e-05 1.35725434e-04]

关于数据初始化


可以参考Origin的初始化算法。
https://www.chem.pku.edu.cn/resim/docs/2019-09/20190924213619569426.pdf
https://www.originlab.com/doc/en/OriginC/ref/peak_pos\

总结

获得peak位置xcx_cxc​和半峰宽www

参考

光谱曲线的洛伦兹函数拟合
http://muchong.com/t-8968688-1
numpy.linspace使用详解
https://blog.csdn.net/You_are_my_dream/article/details/53493752
利用scipy.optimize.curve_fit对函数进行拟合
https://blog.csdn.net/jason_cuijiahui/article/details/87211889
markdown中插入图片怎么定义图片的大小或比例?
https://www.zhihu.com/question/23378396

data

data.csv

x,y
427.256,450.7287
427.327,385.4204
427.398,1831.3
427.469,2785.1
427.54,1106.8
427.611,221.6083
427.682,132.2139

python数据处理3: 光谱曲线的洛伦兹函数拟合相关推荐

  1. python数据处理7: matplotlib绘图保存图片深入

    matplotlib绘图保存图片深入 系列目录 模块导入 图片大小.像素 图形大小.边距 字体与大小 坐标轴 源码 定义 问题 matplotlib:ValueError: bottom cannot ...

  2. python数据处理2: 拟合数据、整合数据、导出数据

    目录 目标 软件 教程 实现 导入库函数 定义拟合函数 拟合数据 获得拟合曲线 数据可视化绘图 效果 数据合并 数据导出 总结 参考 目标 继python数据处理1: 导入数据.片选数据.数据绘图,采 ...

  3. python 水位流量关系曲线_应用最小二乘法拟合水位流量关系曲线

    · 水文水资源 · 吉 林 水 利 · 的 年 第 期 应用最小二乘法 拟合水位流量关系曲线 长春 水 文分站 郭永杰 关键词 水 文 水利计算 水祖流量关 系 最 小 二 乘法 数 学拟合 水位流量 ...

  4. python的爱心曲线公式_六行python代码的爱心曲线详解

    前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧.实际上,当时有效偏颇了,忽略了问题 ...

  5. Python数据处理课程设计-房屋价格预测

    注:可能有些图片未能成功上传,可在文档处进行下载 链接:Python数据处理课程设计-房屋价格预测-机器学习文档类资源-CSDN下载 课程设计报告 课程名称 Python数据处理课程设计 项目名称 房 ...

  6. 半小时拿下Python数据处理之Matplotlib篇

    半小时拿下Python数据处理之Matplotlib篇 matplotlib三种代码风格 pyplot pylab Object Oriented 子图 多图 散点图(scatter) 条形图 (ba ...

  7. Python数据处理相关语法整理

    Python数据处理相关语法整理 简介 Python自身特性总结 编程Tips 拿到新电脑配环境时做的事: 一些加速python代码的技巧 Python项目代码结构 量化策略指标计算 绝对收益率 最大 ...

  8. 【Python数据处理篇——DataFrame数据可视化】饼图、散点图、折线图、柱形图、直方图

    欢迎访问我搞事情的[知乎账号]:Coffee 以及我的[B站漫威剪辑账号]:VideosMan 若我的笔记对你有帮助,请用小小的手指,点一个大大的赞哦. 关于DataFrame的相关知识,我还进行了汇 ...

  9. 半小时拿下Python数据处理之Seaborn篇

    半小时拿下Python数据处理之Seaborn篇 Seaborn简介 Seaborn样式 matplotlib与seaborn绘图比较 Seaborn 5种主题风格 用despine()移除轴线 临时 ...

最新文章

  1. SpringMVC 异常统一处理
  2. shiro解决一个账号异地登录的问题
  3. 定位 - CoreLocation - 打印位置信息
  4. sqlserver 存储过程 C#调用 实现从数据库Get数据
  5. 如何看待事理图谱版magi--学迹
  6. Oracle收购Sun
  7. android listview 向上自动滚动效果,Android通过代码控制ListView上下滚动的方法
  8. python 迭代器相关知识
  9. c语言指针填空题目,C语言指针题目实战
  10. 标准c语言与c51的区别,单片机学习笔记5-C51语言与标准C语言的比较
  11. python 下载文件-python爬虫之下载文件的方式总结以及程序实例
  12. 全网首发:修改完善FreeSwitch的Banner功能
  13. c语言学生管理系统用户登录,c语言学生管理系统之用户登陆
  14. axure如何导出原件_彻底抛弃WORD!教你用Axure快速输出高质量的PRD
  15. Google 开发者账号关联被封后怎么办
  16. Mysql 基准测试
  17. android中常见的异常总结
  18. PS对图片的基本处理
  19. 《第四周RFID作业》物联112118 林家辉
  20. 数据分析案例-对某宝用户评论做情感分析

热门文章

  1. Baidu Apollo代码解析之Lattice Planner
  2. windows升级powerShell
  3. 求100以内的质数,质数定义为只能被1和其本身整除的数
  4. d3 i5 神舟精盾k480n_不到3500元 神舟精盾K480N独显本最超值
  5. 如何编写让别人能读懂的代码?
  6. 计算机系公寓消防演练,学生公寓管理中心开展消防应急疏散演练
  7. windows10 环境变量立即生效的坑
  8. kafka启动Initial heap size set to a larger value than the maximum heap size报错(windows系统)
  9. WPF 下TextBox 换行与 C#下TextBox换行
  10. RabbitMQ消息分发模式----Topic主题模式