我正在编写一个脚本,使用Scipy,Numpy和Matplotlib在Python中将峰形拟合到光谱数据 . 它可以同时适应多个峰值 . 峰值曲线(现在)是Pseudo-Voigt,它是高斯(aka Normal)和Lorentzian(aka Cauchy)分布的线性组合 .

我有一个选项开关,我可以让软件优化高斯和洛伦兹的贡献或将其设置为固定值(其中0 =纯高斯和1 =纯洛伦兹) . 按预期工作,绘制拟合的峰值看起来像预期的那样 . 当我尝试使用 scipy.integrate 计算峰的积分时,问题就开始了 .

到目前为止,我尝试了scipy.integrate.quad,scipy.integrate.quadrature,scipy.integrate.fixed_quad和scipy.integrate.romberg . 当峰值为纯高斯时,积分变为类似于 1.73476E-34 (并不总是相同的数字),即使对于明显具有比非纯高斯相邻的峰值更大的区域的峰值,但返回10到1000量级的有限积分这是相关部件的样子:

# Function defining the peak functions for plotting and integration

# WavNr: Wave number, the x-axis over which shall be integrated

# Pos: Peak center position

# Amp: Amplitude of the peak

# GammaL: Gamma parameter of the Lorentzian distribution

# FracL: Fraction of Lorentzian distribution

def PseudoVoigtFunction(WavNr, Pos, Amp, GammaL, FracL):

SigmaG = GammaL / np.sqrt(2*np.log(2)) # Calculate the sigma parameter for the Gaussian distribution from GammaL (coupled in Pseudo-Voigt)

LorentzPart = Amp * (GammaL**2 / ((WavNr - Pos)**2 + GammaL**2)) # Lorentzian distribution

GaussPart = Amp * np.exp( -((WavNr - Pos)/SigmaG)**2) # Gaussian distribution

Fit = FracL * LorentzPart + (1 - FracL) * GaussPart # Linear combination of the two parts (or distributions)

return Fit

这是绘图函数通过以下方式调用的:

Fit = PseudoVoigtFunction(WavNr, Pos, Amp, GammaL, FracL)

哪个工作正常 . 它也由集成商通过以下方式调用:

PeakArea, PeakAreaError = integrate.quad(PseudoVoigtFunction, -np.inf, np.inf, args=(Pos, Amp, GammaL, FracL))

或scipy.integrate提供的任何其他变体,都具有相同的结果,如果FracL = 0,则PeakArea =(几乎)0 .

我确定问题只是我太愚蠢而无法弄清楚scipy.integrate如何使用比我能找到的示例更复杂的函数 . 希望有人看到我不知道的明显错误 . 两天搜索stackoverflow和Scipy Docs并重新排列并完全重写我的代码让我无处可去 . 我怀疑scipy.integrate中的args在某种程度上与问题有关,但对于我能找到的所有内容,它们似乎都是正确排列的 .

在此先感谢,Os

integrate函数python_scipy.integrate Pseudo-Voigt函数,积分变为0相关推荐

  1. 7.2 matlab符号微积分(符号函数的极限、导数和积分)

    1.符号函数的极限 求符号函数极限的命令为limit,其调用格式为: limit(f,x,a) 即求函数f关于变量x在a点的极限.若x省略,则采用系统默认的自变量.a的默认值为0. limit函数的另 ...

  2. js 实现2的n次方计算函数_密码杂凑函数的基本性质探讨

    密码学研究的宗旨是保证数据和通信的机密性.完整性和认证性,其中完整性和认证性的实现依赖于一类关键的密码学函数---密码杂凑函数.密码杂凑函数通常用来计算数据的短"指纹"(也称杂凑值 ...

  3. function函数嵌套 matlab_Matlab函数进阶:使用匿名函数和内嵌函数处理多变量传递问题...

    Matlab 函数进阶: 使用匿名函数 (Anonymous Function) 和内嵌函数 (Nested Function) 处理多变量传递问题 (Matlab 7.0 以上 ) 问题: 有一个多 ...

  4. 幂指函数怎么求极限_函数的极限I

    以下是未编辑文字,不建议阅读. 我们开始讲函数的极限,这节课呢,我将会分成两节课去想他说的迹象,先说它的定义以及一些基本的性质以及基本的求极限的方法,然后下一节课就是重点,我们考研经常会考也是求极限的 ...

  5. 伽玛函数的对数导数 matlab,伽玛函数(Γ(x)伽马函数公式)

    相信很多人对于伽玛函数(Γ(x)伽马函数公式)并不是非常的了解,因此小编在这里为您详解的讲解一下相关信息! Γ(x)称为伽马函数,它是用一个积分式定义的,不是初等函数.伽马函数有性质:Γ(x+1)=x ...

  6. Excel函数词典(483个函数说明 Excel函数公式Excel小技巧

    Excel函数词典(483个函数说明 Excel函数公式Excel小技巧 函数 类别 属性 新函数 说明 语法 BETADIST 兼容性函数 被替换 BETA.DIST 返回累积 beta 概率密度函 ...

  7. 复平面上gamma函数_神奇的Gamma函数 (中)

    Gamma 函数欣赏 Each generation has found something of interest to say about the gamma function. Perhaps ...

  8. python怎么用gamma函数_不完全gamma函数 python有gamma函数吗

    matlab中gammainc(不完全伽马函数)是代表什么运算? 如题,matlab中gammainc函数是什么运算,比如A==gammainc(B/2,C/2) 麻烦问一下,图中的红框的下一步是怎么 ...

  9. MATLAB 基础知识 数据类型 函数句柄 将一个函数传递到另一个函数

    您可以使用函数句柄作为其他函数(称为复合函数)的输入参数.这些函数基于某个范围内的值计算数学表达式.典型的复合函数包括 integral.quad2d.fzero 和 fminbnd. 例如,要计算自 ...

最新文章

  1. Unity的旋转-四元数,欧拉角用法简介
  2. python -- 青少年如何使用 Python 开始游戏开发
  3. csv文件怎么转成excel_怎么把word转成excel
  4. react和vue配置本地代理
  5. npm安装与卸载和cordova及ionic项目打包调试等相关命令总结归纳
  6. 有人说找不到这个免费R绘图教程的数据在哪?
  7. 宝塔自助建站系统源码v8.0
  8. 页面每次添加都显示最后一次访问记录spring scope=prototype 学习笔记
  9. 电脑不启动任务管理器时cpu使用率很高,短时间内不使用电脑时启动为什么能耗可下降到15%以下?
  10. request 和 session 获取方法
  11. Property ‘id‘ not found on type java.lang.String问题解决
  12. 【OpenCV】基本数据类型
  13. Docker系列教程26-Docker Compose控制服务启动顺序
  14. Python资源大全中文版(建议收藏)
  15. javascript 时间脚本收集
  16. CodeBlock:Process terminated with status1073741510
  17. 百度任玉刚写的对学习Android的理解
  18. 深圳高中计算机老师招聘,深圳一所高中招聘20位老师,19人来自清华北大
  19. 用深度学习做命名实体识别(五)-模型使用
  20. visio设置页元素组

热门文章

  1. python实现pdf格式转换图片格式
  2. 按Right-BICEP要求的任务二的测试
  3. 迷宫问题(OJ平台)附代码解释
  4. consol.log()的封装
  5. 华为服务器cpu位置,服务器cpu参数详解
  6. 最新公路测量计算机,工地通路测电脑版
  7. Oracle无法标识锁定数据文件,启动错误ORA-01157: 无法标识/锁定数据文件 解决方案...
  8. 两年数据对比柱形图_【系列课程】用Excel进行数据可视化组合图表的制作lt;二gt;...
  9. 七年级计算机学期教学要求,七年级信息技术教学工作总结
  10. 2000国家大地坐标系