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 PX =
new Vector(0);
Vector PY =
new Vector(0);
// generate function - note that X values are monotonical
Random r =
new Random();
X.Ramp();
Y.Values[0] = 100.0;
for (
int i=1; i < X.Length; i++)
Y.Values[i] = Y.Values[i-1] + 250 - r.Next(500);
// now setup the points at which you want to interpolate
PX.Size(1000);
PX.Ramp();
PX.Scale(0.1);
// calculate piecewise poly for the range of points -
// note that PX values are sorted
Polynoms.Interpolate(X,Y,PX,PY,TInterpolationType.IntCubic,
true);
// PY returns the interpolated points, calculated at PX
MtxVecTee.DrawIt(Y,"Original",
false);
MtxVecTee.DrawIt(PY,"Interpolated",
false);
}
}