WebCab Functions for .NET v2.0

Interpolation.CoefficientsInterpolatingPolynomialStable Method 

Evaluates the coefficients of the interpolating polynomial in 1 variable when the polynomial is known as a set of tabulation points.

public double[] CoefficientsInterpolatingPolynomialStable(
   double[] tabulatedValues,
   double[] polynomialValues
);

Parameters

tabulatedValues
An array of doubles which represent the values at which the interpolation polynomial is tabulated. That is, is f is the interpolating polynomial then we have f(tabulatedValues[i]) = polynomialValues[i]; where polynomialValues[i] is the value of the interpolating polynomial at the tabulatedValues[i].
polynomialValues
An array of doubles where the first element polynomialValues[0], corresponds to the value of the interpolating polynomial at the first tabulation point tabulatedValues[0], and the second values polynomialValues[1] corresponds to the value of the interpolating polynomial at the second tabulated point tabulatedValues[1], and so on.

Return Value

A array where the first term is the value of the constant term of the polynomial, the second term of the coefficient for the 1st order term of the polynomial (i.e. x, the third term is the coefficient of the 2nd order term of the polynomial (i.e. x2), and so on.

Remarks

This methods is a slower but more stable version of CoefficientsInterpolatingPolynomial. That is, a set of points in the range and the corresponding values in the domain of the interpolation function are known and we will deduce from this information the coefficients of the corresponding interpolation polynomial assuming the degree of this polynomial is one less than the number of tabulation points used.

Further Explanation

If we are given a set of n points on which the interpolation function is known then this method evaluates the n coefficients ci of the interpolation function c0 + (c1 * x) + (c2 * x2>) +....

More explicitly, given a set of tabulation points x = {x[i]: i=0,...,n-1} and y = {y[i]:i=0,...,n-1} which defines a function by y[i] = f(x[i]). This method returns an array of doubles which are the coefficients of the interpolating polynomial where the first term of the array corresponds to the 0th order term, the second term corresponds to the 1st order term (i.e. x's coefficient) and so on.

Comparison with CoefficientsInterpolatingPolynomial

The method CoefficientsInterpolatingPolynomial differs slightly from this method which is less direct and slower by a power of the number of points used. However, we have found this approach to be more stable. The essential idea in this approach is that it uses the InterpolateExtrapolatePolynomial method with iterative reduction to arrive at the interpolation polynomial.

Remark: If the two arrays have different lengths the shorter one will be used as reference.

Exceptions

Exception TypeCondition
InterpolationExceptionThrown when any of the two parameters are null.

See Also

Interpolation Class | WebCab.Libraries.Math.Interpolation Namespace | CoefficientsInterpolatingPolynomial | InterpolateExtrapolatePolynomial