模型和配件 (astropy.modeling#

介绍#

astropy.modeling 提供一个表示模型和执行模型评估和拟合的框架。提供了许多预定义的1-D和2-D模型,并支持自定义、用户定义模型的功能。不同的拟合算法可以用于任何模型。对于那些有能力的装配工,可以使用不确定性、有界参数和先验知识进行拟合。

使用建模#

一个简单的例子#

这个简单的示例说明了定义模型、基于输入x值计算值以及使用模型拟合数据。

import numpy as np
import matplotlib.pyplot as plt
from astropy.modeling import models, fitting

# define a model for a line
line_orig = models.Linear1D(slope=1.0, intercept=0.5)

# generate x, y data non-uniformly spaced in x
# add noise to y measurements
npts = 30
rng = np.random.default_rng(10)
x = rng.uniform(0.0, 10.0, npts)
y = line_orig(x)
y += rng.normal(0.0, 1.5, npts)

# initialize a linear fitter
fit = fitting.LinearLSQFitter()

# initialize a linear model
line_init = models.Linear1D()

# fit the data with the fitter
fitted_line = fit(line_init, x, y)

# plot the model
fig, ax = plt.subplots()
ax.plot(x, y, 'ko', label='Data')
ax.plot(x, fitted_line(x), 'k-', label='Fitted Model')
ax.set(xlabel='x', ylabel='y')
ax.legend()

(png, svg, pdf)

../_images/index-11.png

高级主题#

预定义模型#

列出并举例说明了一些预定义的模型。

实例#

参考/API#