## org.apache.commons.math3.analysis.function
Class HarmonicOscillator.Parametric

    java.lang.Object
      org.apache.commons.math3.analysis.function.HarmonicOscillator.Parametric

All Implemented Interfaces:
  ParametricUnivariateFunction

Enclosing class:
  HarmonicOscillator

    public static class HarmonicOscillator.Parametric

extends java.lang.Object
implements ParametricUnivariateFunction

Parametric function where the input array contains the parameters of the harmonic oscillator function, ordered as follows:

- Amplitude
- Angular frequency
- Phase

Constructor Summary
`HarmonicOscillator.Parametric()`

Method Summary
`double[]` `gradient(double x, double... param)` Computes the value of the gradient at `x`.
`private void` `validateParameters(double[] param)` Validates parameters to ensure they are appropriate for the evaluation of the `value(double,double[])` and `gradient(double,double[])` methods.
`double` `value(double x, double... param)` Computes the value of the harmonic oscillator at `x`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### HarmonicOscillator.Parametric

    public HarmonicOscillator.Parametric()

Method Detail

### value

    public double value(double x,
                        double... param)
                 throws NullArgumentException,
                        DimensionMismatchException

  Computes the value of the harmonic oscillator at `x`.

  Specified by:
    `value` in interface `ParametricUnivariateFunction`
  Parameters:
    `x` - Value for which the function must be computed.
    `param` - Values of norm, mean and standard deviation.
  Returns:
    the value of the function.
  Throws:
    `NullArgumentException` - if `param` is `null`.
    `DimensionMismatchException` - if the size of `param` is not 3.

### gradient

    public double[] gradient(double x,
                             double... param)
                      throws NullArgumentException,
                             DimensionMismatchException

  Computes the value of the gradient at `x`. The components of the gradient vector are the partial derivatives of the function with respect to each of the parameters (amplitude, angular frequency and phase).

  Specified by:
    `gradient` in interface `ParametricUnivariateFunction`
  Parameters:
    `x` - Value at which the gradient must be computed.
    `param` - Values of amplitude, angular frequency and phase.
  Returns:
    the gradient vector at `x`.
  Throws:
    `NullArgumentException` - if `param` is `null`.
    `DimensionMismatchException` - if the size of `param` is not 3.

### validateParameters

    private void validateParameters(double[] param)
                             throws NullArgumentException,
                                    DimensionMismatchException

  Validates parameters to ensure they are appropriate for the evaluation of the `value(double,double[])` and `gradient(double,double[])` methods.

  Parameters:
    `param` - Values of norm, mean and standard deviation.
  Throws:
    `NullArgumentException` - if `param` is `null`.
    `DimensionMismatchException` - if the size of `param` is not 3.

Copyright (c) 2003-2013 Apache Software Foundation