Polynoms.Linear1D Method

Overload List

#SignatureDescription
1void Linear1D(TVec Y, TPiecePoly PiecePoly)Perform interpolation assuming that Y is evaluated at [0,1,2,...].
2void Linear1D(TVec X, TVec Y, TPiecePoly PiecePoly)Linear interpolation.

Overload 1: void Linear1D(TVec Y, TPiecePoly PiecePoly)

Perform interpolation assuming that Y is evaluated at [0,1,2,...].

#NameTypeDescription
1YTVecsource TVec
2PiecePolyTPiecePoly

Result: stored in self (calling object)

Examples
using Dew.Math;
using Dew.Math.Units;
using Dew.Math.Tee;

namespace Dew.Examples
{
    private void Example()
    {
        Vector X = new Vector(0);
        Vector Y = new Vector(0);
        Vector Y2 = new Vector(0);
        TPiecePoly PP = new TPiecePoly();
        int i;
        double YVal;

        // generate function - note that X values are monotonical
        X.Size(100);
        Y.Size(100);
        Y2.Size(100);

        X.Ramp(0,1);
        Y.RandUniform(0,50);
        Y2-Ramp(100,0.25);
        Y += Y2;

        //   construct cubic splines, but do not evaluate them

        Polynoms.Linear1D(X,Y,PP);

        X.Size(800);
        X.Ramp(0,0.125); //get interpolation points
        PP.Evaluate(X,Y2); // evaluate

        MtxVecTee.DrawIt(Y,"Original",false);
        MtxVecTee.DrawIt(Y2,"Interpolated",false);
    }
}
See Also: Polynoms.Interpolate, Polynoms.Spline1D, Polynoms.PolyFit, TPiecePoly

Overload 2: void Linear1D(TVec X, TVec Y, TPiecePoly PiecePoly)

Linear interpolation.

#NameTypeDescription
1XTVecsource TVec
2YTVecsource TVec
3PiecePolyTPiecePoly

Result: stored in self (calling object)

Remarks:

The Linear1D procedure interpolates lines between consecutive (X,Y) pairs. Linear1D does not return interpolated points. It constructs piece-wise polynomial, which can be used to evaluate ( by using the PiecePoly.Evaluate method) the linear functions. To directly obtain interpolated values, use the Dew.Math.Units.Polynoms.Interpolate routine.

Note:
X values must be monotonic or the result will not be valid.