模型和配件 (astropy.modeling

介绍

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

注解

对内部构件进行了大量重大变更,详细记录见 对v4.0中建模的更改 . 主要的变化是不再支持组合模型类。(仍然非常支持组合模型实例!)

一个简单的例子

这个简单的示例说明了定义模型、基于输入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
np.random.seed(10)
x = np.random.uniform(0.0, 10.0, npts)
y = line_orig(x)
y += np.random.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
plt.figure()
plt.plot(x, y, 'ko', label='Data')
plt.plot(x, fitted_line(x), 'k-', label='Fitted Model')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()

(png _, svgpdf

../_images/index-12.png

参考/API