KingProjectedAnalytic1D#
- class astropy.modeling.functional_models.KingProjectedAnalytic1D(amplitude=1, r_core=1, r_tide=2, **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 :
笔记
该模型用解析函数逼近King模型。这个方程的推导可以在King‘62(公式14)中找到。这只是一个完整模型的近似,从这个模型导出的参数应该谨慎使用。它通常适用于浓度(c=log10(r_t/r_c))参数<2的模型。
模型公式:
\[f(x)=左(\frac{1}{\sqrt{(x^2+r}2)}}-\]工具书类
实例
import numpy as np from astropy.modeling.models import KingProjectedAnalytic1D import matplotlib.pyplot as plt plt.figure() rt_list = [1, 2, 5, 10, 20] for rt in rt_list: r = np.linspace(0.1, rt, 100) mod = KingProjectedAnalytic1D(amplitude = 1, r_core = 1., r_tide = rt) sig = mod(r) plt.loglog(r, sig/sig[0], label=f"c ~ {mod.concentration:0.2f}") plt.xlabel("r") plt.ylabel(r"$\sigma/\sigma_0$") plt.legend() plt.show()
属性摘要
King模型的浓度参数。
此属性用于指示evaluate方法所需的单元或单元集,并返回将输入映射到单元(或
None
如果接受任何单位)。描述此类型模型的参数的名称。
方法总结
evaluate
(x, amplitude, r_core, r_tide)解析金模型函数。
fit_deriv
(x, amplitude, r_core, r_tide)解析金模型函数导数。
属性文档
- amplitude = Parameter('amplitude', value=1.0, bounds=(1.1754943508222875e-38, None))#
- concentration#
King模型的浓度参数。
- input_units#
- param_names = ('amplitude', 'r_core', 'r_tide')#
描述此类型模型的参数的名称。
此元组中的参数与初始化特定类型的模型时应传入的顺序相同。某些类型的模型,如多项式模型,根据模型的某些其他属性(如阶数)有不同数量的参数。
定义自定义模型类时,此属性的值由
Parameter
在类中定义的body属性。
- r_core = Parameter('r_core', value=1.0, bounds=(1.1754943508222875e-38, None))#
- r_tide = Parameter('r_tide', value=2.0, bounds=(1.1754943508222875e-38, None))#
方法文件