高斯一维#
- class astropy.modeling.functional_models.Gaussian1D(amplitude=1, mean=0, stddev=1, **kwargs)[源代码]#
-
一维高斯模型。
- 参数:
- 其他参数:
- 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
,mean
和stddev
必须一致地使用兼容的单位或作为无单位数字提供。模型公式:
\[f(x)=一个e ^{-\frac{\left(x-x{0}\right)^{2}}}{2\sigma^{2}}}\]实例
>>> from astropy.modeling import models >>> def tie_center(model): ... mean = 50 * model.stddev ... return mean >>> tied_parameters = {'mean': tie_center}
通过以下两种方法之一指定“mean”是绑定参数:
>>> g1 = models.Gaussian1D(amplitude=10, mean=5, stddev=.3, ... tied=tied_parameters)
或
>>> g1 = models.Gaussian1D(amplitude=10, mean=5, stddev=.3) >>> g1.mean.tied False >>> g1.mean.tied = tie_center >>> g1.mean.tied <function tie_center at 0x...>
固定参数:
>>> g1 = models.Gaussian1D(amplitude=10, mean=5, stddev=.3, ... fixed={'stddev': True}) >>> g1.stddev.fixed True
或
>>> g1 = models.Gaussian1D(amplitude=10, mean=5, stddev=.3) >>> g1.stddev.fixed False >>> g1.stddev.fixed = True >>> g1.stddev.fixed True
import numpy as np import matplotlib.pyplot as plt from astropy.modeling.models import Gaussian1D plt.figure() s1 = Gaussian1D() r = np.arange(-5, 5, .01) for factor in range(1, 4): s1.amplitude = factor plt.plot(r, s1(r), color=str(0.25 * factor), lw=2) plt.axis([-5, 5, -1, 4]) plt.show()
属性摘要
高斯全宽为半最大值。
此属性用于指示evaluate方法所需的单元或单元集,并返回将输入映射到单元(或
None
如果接受任何单位)。描述此类型模型的参数的名称。
方法总结
evaluate
(x, amplitude, mean, stddev)高斯模型函数。
fit_deriv
(x, amplitude, mean, stddev)高斯一维模型函数导数。
属性文档
- amplitude = Parameter('amplitude', value=1.0)#
- fwhm#
高斯全宽为半最大值。
- input_units#
- mean = Parameter('mean', value=0.0)#
- param_names = ('amplitude', 'mean', 'stddev')#
描述此类型模型的参数的名称。
此元组中的参数与初始化特定类型的模型时应传入的顺序相同。某些类型的模型,如多项式模型,根据模型的某些其他属性(如阶数)有不同数量的参数。
定义自定义模型类时,此属性的值由
Parameter
在类中定义的body属性。
- stddev = Parameter('stddev', value=1.0, bounds=(1.1754943508222875e-38, None))#
方法文件