样条线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.UnivariateSpline,scipy.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)
属性摘要
Scipy B样条线对象表示。
系数向量。
系数参数词典。
样条多项式的次数。
节点参数词典。
结向量。
内部结。
Scipy‘tck’tuple表示法。
如果结已由用户提供。
方法总结
__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)#
使模型可调用到模型评估。