Box1D

class astropy.modeling.functional_models.Box1D[source] [edit on github]

Bases: astropy.modeling.Fittable1DModel

One dimensional Box model.

Parameters:

amplitude : float

Amplitude A

x_0 : float

Position of the center of the box function

width : float

Width of the box

Other Parameters:
 

fixed : a dict

A dictionary {parameter_name: boolean} of parameters to not be varied during fitting. True means the parameter is held fixed. Alternatively the fixed property of a parameter may be used.

tied : dict

A dictionary {parameter_name: callable} of parameters which are linked to some other parameter. The dictionary values are callables providing the linking relationship. Alternatively the tied property of a parameter may be used.

bounds : dict

A dictionary {parameter_name: boolean} of lower and upper bounds of parameters. Keys are parameter names. Values are a list of length 2 giving the desired range for the parameter. Alternatively the min and max properties of a parameter may be used.

eqcons : list

A list of functions of length n such that eqcons[j](x0,*args) == 0.0 in a successfully optimized problem.

ineqcons : list

A list of functions of length n such that ieqcons[j](x0,*args) >= 0.0 is a successfully optimized problem.

Notes

Model formula:

\[\begin{split}f(x) = \left \{ \begin{array}{ll} A & : x_0 - w/2 \geq x \geq x_0 + w/2 \\ 0 & : \textnormal{else} \end{array} \right.\end{split}\]

Examples

import numpy as np
import matplotlib.pyplot as plt

from astropy.modeling.models import Box1D

plt.figure()
s1 = Box1D()
r = np.arange(-5, 5, .01)

for factor in range(1, 4):
    s1.amplitude = factor
    s1.width = factor
    plt.plot(r, s1(r), color=str(0.25 * factor), lw=2)

plt.axis([-5, 5, -1, 4])
plt.show()

(Source code, png, hires.png, pdf)

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

Attributes Summary

amplitude
param_names
width
x_0

Methods Summary

evaluate(x, amplitude, x_0, width) One dimensional Box model function
fit_deriv(x, amplitude, x_0, width) One dimensional Box model derivative with respect to parameters

Attributes Documentation

amplitude
param_names = ('amplitude', 'x_0', 'width')
width
x_0

Methods Documentation

static evaluate(x, amplitude, x_0, width)[source] [edit on github]

One dimensional Box model function

classmethod fit_deriv(x, amplitude, x_0, width)[source] [edit on github]

One dimensional Box model derivative with respect to parameters