Overload List
| # | Signature | Description |
|---|---|---|
| 1 | void Linear1D(TVec Y, TPiecePoly PiecePoly) | Perform interpolation assuming that Y is evaluated at [0,1,2,...]. |
| 2 | void 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,...].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Y | TVec | source TVec |
| 2 | PiecePoly | TPiecePoly |
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);
}
}
Overload 2: void Linear1D(TVec X, TVec Y, TPiecePoly PiecePoly)
Linear interpolation.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec | source TVec |
| 2 | Y | TVec | source TVec |
| 3 | PiecePoly | TPiecePoly |
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.