伏伊格特1d#
- class astropy.modeling.functional_models.Voigt1D(x_0=0, amplitude_L=1, fwhm_L=0.6366197723675814, fwhm_G=0.6931471805599453, method=None, **kwargs)[源代码]#
-
Voigt剖面的一维模型。
- 参数:
- x_0 :
float
或Quantity
Python:浮点或数量 峰顶位置
- amplitude_L :
float
或Quantity
。Python :浮点或数量。 洛伦兹振幅(相关洛伦兹函数的峰值)-对于归一化轮廓(积分为1),设置振幅_L=2/(np.pi*fwhm_L)
- fwhm_L :
float
或Quantity
Python:浮点或数量 洛伦兹全宽半最大值
- fwhm_G :
float
或Quantity
。Python :浮点或数量。 半最大高斯全宽
- method :
str
,可选Python:字符串,可选 计算复杂误差函数的算法;‘Humlicek2’之一(默认、快速且通常比
rtol=3.e-5
)或‘Scipy’,也可以选择‘wofz’(需要scipy
,几乎同样快速和准确)。
- x_0 :
- 其他参数:
- fixed :
dict
,可选Python:Dict,可选 字典
{{parameter_name: boolean}}
在拟合过程中不能改变的参数。True表示参数保持不变。或者fixed
可以使用参数的属性。- tied :
dict
,可选Python:Dict,可选 字典
{{parameter_name: callable}}
链接到其他参数的参数。字典值是提供链接关系的可调用项。或者tied
可以使用参数的属性。- bounds :
dict
,可选Python:Dict,可选 字典
{{parameter_name: value}}
参数的上下界。键是参数名。值是一个长度为2的列表或元组,为参数提供所需的范围。或者min
和max
可以使用参数的属性。- eqcons :
list
,可选Python:列表,可选 长度函数列表
n
这样的话eqcons[j](x0,*args) == 0.0
在一个成功优化的问题中。- ineqcons :
list
,可选Python:列表,可选 长度函数列表
n
这样的话ieqcons[j](x0,*args) >= 0.0
是一个成功优化的问题。
- fixed :
参见
笔记
全部输入或不输入
x
,位置x_0
以及fwhm_*
必须一致地使用兼容的单位或作为无单位数字提供。Voigt函数被计算为根据Schreier 2018(MNRAS 479,3068;)之后的Humlicek有理近似(JQSRT 21:309,1979;27:437,1982)计算的复误差函数的实部hum2zpf16m
从他的cpfX.py模块);或wofz
(实现‘Faddeeva.cc’)。实例
import numpy as np from astropy.modeling.models import Voigt1D import matplotlib.pyplot as plt plt.figure() x = np.arange(0, 10, 0.01) v1 = Voigt1D(x_0=5, amplitude_L=10, fwhm_L=0.5, fwhm_G=0.9) plt.plot(x, v1(x)) plt.show()
属性摘要
此属性用于指示evaluate方法所需的单元或单元集,并返回将输入映射到单元(或
None
如果接受任何单位)。描述此类型模型的参数的名称。
方法总结
evaluate
(x, x_0, amplitude_L, fwhm_L, fwhm_G)一维Voigt函数缩放到洛伦兹峰值振幅。
fit_deriv
(x, x_0, amplitude_L, fwhm_L, fwhm_G)一维Voigt函数对参数的导数。
属性文档
- amplitude_L = Parameter('amplitude_L', value=1.0)#
- fwhm_G = Parameter('fwhm_G', value=0.6931471805599453)#
- fwhm_L = Parameter('fwhm_L', value=0.6366197723675814)#
- input_units#
- param_names = ('x_0', 'amplitude_L', 'fwhm_L', 'fwhm_G')#
描述此类型模型的参数的名称。
此元组中的参数与初始化特定类型的模型时应传入的顺序相同。某些类型的模型,如多项式模型,根据模型的某些其他属性(如阶数)有不同数量的参数。
定义自定义模型类时,此属性的值由
Parameter
在类中定义的body属性。
- sqrt_ln2 = 0.8325546111576977#
- sqrt_ln2pi = 1.475664626635606#
- sqrt_pi = 1.7724538509055159#
- x_0 = Parameter('x_0', value=0.0)#
方法文件