diff --git a/src/Numerics/Interpolation/Algorithms/CubicSplineInterpolation.cs b/src/Numerics/Interpolation/Algorithms/CubicSplineInterpolation.cs index 7ec87e22..b5bb0202 100644 --- a/src/Numerics/Interpolation/Algorithms/CubicSplineInterpolation.cs +++ b/src/Numerics/Interpolation/Algorithms/CubicSplineInterpolation.cs @@ -63,7 +63,38 @@ namespace MathNet.Numerics.Interpolation.Algorithms IList sampleValues) { _spline = new CubicHermiteSplineInterpolation(); - Initialize(samplePoints, sampleValues); + + Initialize( + samplePoints, + sampleValues); + } + + /// + /// Initializes a new instance of the CubicSplineInterpolation class. + /// + /// Sample Points t, sorted ascending. + /// Sample Values x(t) + /// Condition of the left boundary. + /// Left boundary value. Ignored in the parabolic case. + /// Condition of the right boundary. + /// Right boundary value. Ignored in the parabolic case. + public CubicSplineInterpolation( + IList samplePoints, + IList sampleValues, + SplineBoundaryCondition leftBoundaryCondition, + double leftBoundary, + SplineBoundaryCondition rightBoundaryCondition, + double rightBoundary) + { + _spline = new CubicHermiteSplineInterpolation(); + + Initialize( + samplePoints, + sampleValues, + leftBoundaryCondition, + leftBoundary, + rightBoundaryCondition, + rightBoundary); } /// diff --git a/src/Numerics/Interpolation/Algorithms/FloaterHormannRationalInterpolation.cs b/src/Numerics/Interpolation/Algorithms/FloaterHormannRationalInterpolation.cs index d7e1cab8..b35613d6 100644 --- a/src/Numerics/Interpolation/Algorithms/FloaterHormannRationalInterpolation.cs +++ b/src/Numerics/Interpolation/Algorithms/FloaterHormannRationalInterpolation.cs @@ -65,6 +65,24 @@ namespace MathNet.Numerics.Interpolation.Algorithms Initialize(samplePoints, sampleValues); } + /// + /// Initializes a new instance of the FloaterHormannRationalInterpolation class. + /// + /// Sample Points t + /// Sample Values x(t) + /// + /// Order of the interpolation scheme, 0 <= order <= N. + /// In most cases a value between 3 and 8 gives good results. + /// + public FloaterHormannRationalInterpolation( + IList samplePoints, + IList sampleValues, + int order) + { + _barycentric = new BarycentricInterpolation(); + Initialize(samplePoints, sampleValues, order); + } + /// /// Gets a value indicating whether the algorithm supports differentiation (interpolated derivative). ///