KingProjectedAnalytic1D

class astropy.modeling.functional_models.KingProjectedAnalytic1D(amplitude=1, r_core=1, r_tide=2, **kwargs)[源代码]

基类:astropy.modeling.core.Fittable1DModel

投影(表面密度)分析金模型。

参数
amplitude浮动

振幅或比例因子。

r_core浮动

岩芯半径(f(ru c)~0.5 f_0)

r_tide浮动

潮汐半径。

其他参数
fixed口述,可选

字典 {{parameter_name: boolean}} 在拟合过程中不能改变的参数。True表示参数保持不变。或者 fixed 可以使用参数的属性。

tied可选的

字典 {{parameter_name: callable}} 链接到其他参数的参数。字典值是提供链接关系的可调用项。或者 tied 可以使用参数的属性。

bounds可选的

字典 {{parameter_name: value}} 参数的上下界。键是参数名。值是一个长度为2的列表或元组,为参数提供所需的范围。或者 minmax 可以使用参数的属性。

eqcons可选列表

长度函数列表 n 这样的话 eqcons[j](x0,*args) == 0.0 在一个成功优化的问题中。

ineqcons可选列表

长度函数列表 n 这样的话 ieqcons[j](x0,*args) >= 0.0 是一个成功优化的问题。

笔记

该模型用解析函数逼近King模型。这个方程的推导可以在King’62(方程式14)中找到。这只是完整模型的近似值,从该模型导出的参数应谨慎使用。它通常适用于浓度(c=log10(ru t/r_c)参数<2的模型。

模型公式:

\[f(x)=左(\frac{1}{\sqrt{(x^2+r}2)}}-\]

工具书类

1

http://articles.adsabs.harvard.edu/pdf/1962AJ.....67..471K

实例

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='c ~ {:0.2f}'.format(mod.concentration))

plt.xlabel("r")
plt.ylabel(r"$\sigma/\sigma_0$")
plt.legend()
plt.show()

(png _, svgpdf

../_images/astropy-modeling-functional_models-KingProjectedAnalytic1D-1.png

属性摘要

amplitude 

concentration 

king模型的浓度参数

input_units 

此属性用于指示evaluate方法所需的单元或单元集,并返回将输入映射到单元(或 None 如果接受任何单位)。

param_names 

描述此类型模型的参数的名称。

r_core 

r_tide 

方法总结

evaluate \(x,振幅,r 核心,r u潮汐)

解析金模型函数。

fit_deriv \(x,振幅,r 核心,r u潮汐)

解析金模型函数导数。

属性文档

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))

方法文件

static evaluate(x, amplitude, r_core, r_tide)[源代码]

解析金模型函数。

static fit_deriv(x, amplitude, r_core, r_tide)[源代码]

解析金模型函数导数。