样条线1D#

class astropy.modeling.spline.Spline1D(knots=None, coeffs=None, degree=3, bounds=None, n_models=None, model_set_axis=None, name=None, meta=None)[源代码]#

基类:_Spline

一维样条曲线模型。

参数:
knots可选择的

定义样条线的节点。可以是1)样条线的内部节点数,2)样条线的所有节点数组,或3)如果定义了两个边界,则是样条线的内部节点

coeffs可选择的

样条线的节点系数数组

degree可选择的

样条线的阶数。必须为1<=度<=5,默认为3。

bounds可选择的

样条线的上下界。

笔记

此模型的大部分功能由 scipy.interpolate.BSpline 它可以通过b样条线属性直接访问。

适用于此型号的包装器可用于: scipy.interpolate.UnivariateSplinescipy.interpolate.InterpolatedUnivariateSpline ,以及 scipy.interpolate.LSQUnivariateSpline

如果未能定义任何节点/系数,则在调用钳工之前,不会向此模型添加任何参数。这是因为某些样条线的拟合人员会改变参数的数量,因此在这些情况下,我们只有在拟合之后才能定义参数集。

由于参数在模型初始化时不一定是已知的,因此直接通过模型接口设置模型参数已被禁用。

为该模型提供了直接构造器,将数据的拟合直接融入到模型构造中。

默认情况下,节点参数被声明为“固定”参数,以便能够使用其他 astropy.modeling 用来安装这种型号的钳工。

实例

>>> import numpy as np
>>> from astropy.modeling.models import Spline1D
>>> from astropy.modeling import fitting
>>> np.random.seed(42)
>>> x = np.linspace(-3, 3, 50)
>>> y = np.exp(-x**2) + 0.1 * np.random.randn(50)
>>> xs = np.linspace(-3, 3, 1000)

一维插值样条线可以适用于数据:

>>> fitter = fitting.SplineInterpolateFitter()
>>> spl = fitter(Spline1D(), x, y)

同样,平滑样条线也可以适合数据:

>>> fitter = fitting.SplineSmoothingFitter()
>>> spl = fitter(Spline1D(), x, y, s=0.5)

同样,样条线可以使用一组精确的内部节点来拟合数据:

>>> t = [-1, 0, 1]
>>> fitter = fitting.SplineExactKnotsFitter()
>>> spl = fitter(Spline1D(), x, y, t=t)

属性摘要

bspline 

Scipy B样条线对象表示。

c 

系数向量。

coeffs 

系数参数词典。

degree 

样条多项式的次数。

knots 

节点参数词典。

n_inputs 

n_outputs 

optional_inputs 

t 

结向量。

t_interior 

内部结。

tck 

Scipy‘tck’tuple表示法。

user_knots 

如果结已由用户提供。

方法总结

__call__(*inputs[, model_set_axis, ...])

使模型可调用到模型评估。

antiderivative([nu])

创建一条作为该样条线的反导数的样条线。

derivative([nu])

创建作为该样条线的导数的样条线。

evaluate(*args, **kwargs)

对样条线求值。

属性文档

bspline#

Scipy B样条线对象表示。

c#

系数向量。

coeffs#

系数参数词典。

degree#

样条多项式的次数。

knots#

节点参数词典。

n_inputs = 1#
n_outputs = 1#
optional_inputs = {'nu': 0}#
t#

结向量。

t_interior#

内部结。

tck#

Scipy‘tck’tuple表示法。

user_knots#

如果结已由用户提供。

方法文件

__call__(*inputs, model_set_axis=None, with_bounding_box=False, fill_value=nan, equivalencies=None, inputs_map=None, **new_inputs)#

使模型可调用到模型评估。

antiderivative(nu=1)[源代码]#

创建一条作为该样条线的反导数的样条线。

参数:
nu : int ,可选PYTHON:int,可选

反导数顺序,默认为1。

笔记

假定积分常量为0

derivative(nu=1)[源代码]#

创建作为该样条线的导数的样条线。

参数:
nu : int ,可选PYTHON:int,可选

派生顺序,默认为1。

evaluate(*args, **kwargs)[源代码]#

对样条线求值。

参数:
x

(位置)模型对样条线求值的点

nu可选择的

(Kwarg)用于求值的样条线的导数,0<=nu<=次数+1。默认:0。