Skip to main content
`Ctrl`+`K`

# ArcTangent1D

class astropy.modeling.functional_models.ArcTangent1D(*args, meta=None, name=None, **kwargs)

  Bases: `_InverseTrigonometric1D`

  One dimensional ArcTangent model returning values between -pi/2 and pi/2 only.

  Parameters:
    amplitude `python:float`

      Oscillation amplitude for corresponding Tangent

    frequency `python:float`

      Oscillation frequency for corresponding Tangent

    phase `python:float`

      Oscillation phase for corresponding Tangent

  Other Parameters:
    fixed `python:dict`, optional

      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 `python:dict`, optional

      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 `python:dict`, optional

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

    eqcons `python:list`, optional

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

    ineqcons `python:list`, optional

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

  See also

  `Tangent1D`, `ArcSine1D`, `ArcCosine1D`

  Notes

  Model formula:

  > \[f(x) = ((arctan(x / A) / 2pi) - p) / f\]

  Examples

      import numpy as np
      import matplotlib.pyplot as plt

      from astropy.modeling.models import ArcTangent1D

      plt.figure()
      s1 = ArcTangent1D(amplitude=1, frequency=.25)
      r=np.arange(-10, 10, .01)

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

      plt.axis([-10, 10, -np.pi/2, np.pi/2])
      plt.show()

  (`png`, `svg`, `pdf`)

  Methods Summary

  `evaluate`(x, amplitude, frequency, phase) | One dimensional ArcTangent model function.
  `fit_deriv`(x, amplitude, frequency, phase) | One dimensional ArcTangent model derivative.

  Methods Documentation

  static evaluate(x, amplitude, frequency, phase)

    One dimensional ArcTangent model function.

  static fit_deriv(x, amplitude, frequency, phase)

    One dimensional ArcTangent model derivative.