# HermitePolynomialApproximation

#### HermitePolynomialApproximation()
Core/HermitePolynomialApproximation.js 63

  An `InterpolationAlgorithm` for performing Hermite interpolation.

### Methods

#### staticCesium.HermitePolynomialApproximation.getRequiredDataPoints(degree, inputOrder) → Number
Core/HermitePolynomialApproximation.js 76

  Given the desired degree, returns the number of data points required for interpolation.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `degree` | Number |  | The desired degree of interpolation.
  `inputOrder` | Number | `0` | optional The order of the inputs (0 means just the data, 1 means the data and its derivative, etc).

  ##### Returns:

  The number of required data points needed for the desired degree of interpolation.

  ##### Throws:

  - DeveloperError : degree must be 0 or greater.
  - DeveloperError : inputOrder must be 0 or greater.

#### staticCesium.HermitePolynomialApproximation.interpolate(x, xTable, yTable, yStride, inputOrder, outputOrder, result) → Array.<Number>
Core/HermitePolynomialApproximation.js 199

  Interpolates values using Hermite Polynomial Approximation.

  Name | Type | Description
  --- | --- | ---
  `x` | Number | The independent variable for which the dependent variables will be interpolated.
  `xTable` | Array.<Number> | The array of independent variables to use to interpolate. The values in this array must be in increasing order and the same value must not occur twice in the array.
  `yTable` | Array.<Number> | The array of dependent variables to use to interpolate. For a set of three dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
  `yStride` | Number | The number of dependent variable values in yTable corresponding to each independent variable value in xTable.
  `inputOrder` | Number | The number of derivatives supplied for input.
  `outputOrder` | Number | The number of derivatives desired for output.
  `result` | Array.<Number> | optional An existing array into which to store the result.

  ##### Returns:

  The array of interpolated values, or the result parameter if one was provided.

#### staticCesium.HermitePolynomialApproximation.interpolateOrderZero(x, xTable, yTable, yStride, result) → Array.<Number>
Core/HermitePolynomialApproximation.js 107

  Interpolates values using Hermite Polynomial Approximation.

  Name | Type | Description
  --- | --- | ---
  `x` | Number | The independent variable for which the dependent variables will be interpolated.
  `xTable` | Array.<Number> | The array of independent variables to use to interpolate. The values in this array must be in increasing order and the same value must not occur twice in the array.
  `yTable` | Array.<Number> | The array of dependent variables to use to interpolate. For a set of three dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
  `yStride` | Number | The number of dependent variable values in yTable corresponding to each independent variable value in xTable.
  `result` | Array.<Number> | optional An existing array into which to store the result.

  ##### Returns:

  The array of interpolated values, or the result parameter if one was provided.