/// <summary> /// Old interface to the akima spline. Since all arrays are converted to IVector or IMatrix, avoid this interface if possible. /// </summary> /// <param name="x">ARRAY OF DIMENSION LX STORING THE X COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="y">ARRAY OF DIMENSION LY STORING THE Y COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="z">DOUBLY-DIMENSIONED ARRAY OF DIMENSION (LX,LY) STORING THE VALUES OF THE FUNCTION (Z VALUES) AT INPUT GRID POINTS</param> /// <param name="u">ARRAY OF DIMENSION N STORING THE X COORDINATES OF DESIRED POINTS</param> /// <param name="v">ARRAY OF DIMENSION N STORING THE Y COORDINATES OF DESIRED POINTS</param> /// <param name="w">ARRAY OF DIMENSION N WHERE THE INTERPOLATED Z VALUES AT DESIRED POINTS ARE TO BE DISPLAYED</param> public static void Interpolate(double[] x, double[] y, double[] z, double[] u, double[] v, double[] w) { var spline = new BivariateAkimaSpline(); spline.itplbv_(x.Length, y.Length, VectorMath.ToROVector(x), VectorMath.ToROVector(y), MatrixMath.ToROMatrixFromColumnMajorLinearArray(z, x.Length), w.Length, VectorMath.ToROVector(u), VectorMath.ToROVector(v), VectorMath.ToVector(w)); }
/// <summary> /// THIS SUBROUTINE INTERPOLATES, FROM VALUES OF THE FUNCTION /// GIVEN AT INPUT GRID POINTS IN AN X-Y PLANE AND FOR A GIVEN /// SET OF POINTS IN THE PLANE, THE VALUES OF A SINGLE-VALUED /// BIVARIATE FUNCTION Z = Z(X,Y). /// THE METHOD IS BASED ON A PIECE-WISE FUNCTION COMPOSED OF /// A SET OF BICUBIC POLYNOMIALS IN X AND Y. EACH POLYNOMIAL /// IS APPLICABLE TO A RECTANGLE OF THE INPUT GRID IN THE X-Y /// PLANE. EACH POLYNOMIAL IS DETERMINED LOCALLY. /// </summary> /// <param name="x">VECTOR OF DIMENSION LX STORING THE X COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="y">VECTOR OF DIMENSION LY STORING THE Y COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="z">MATRIX OF DIMENSION (LX,LY) STORING THE VALUES OF THE FUNCTION (Z VALUES) AT INPUT GRID POINTS</param> /// <param name="u">VECTOR OF DIMENSION N STORING THE X COORDINATES OF DESIRED POINTS</param> /// <param name="v">VECTOR OF DIMENSION N STORING THE Y COORDINATES OF DESIRED POINTS</param> /// <param name="w">VECTOR OF DIMENSION N WHERE THE INTERPOLATED Z VALUES AT DESIRED POINTS ARE TO BE DISPLAYED</param> public static void Interpolate(IReadOnlyList <double> x, IReadOnlyList <double> y, IROMatrix <double> z, IReadOnlyList <double> u, IReadOnlyList <double> v, IVector <double> w) { var spline = new BivariateAkimaSpline(); spline.itplbv_(x.Count, y.Count, x, y, z, w.Length, u, v, w); }
/// <summary> /// THIS SUBROUTINE INTERPOLATES, FROM VALUES OF THE FUNCTION /// GIVEN AT INPUT GRID POINTS IN AN X-Y PLANE AND FOR A GIVEN /// SET OF POINTS IN THE PLANE, THE VALUES OF A SINGLE-VALUED /// BIVARIATE FUNCTION Z = Z(X,Y). /// THE METHOD IS BASED ON A PIECE-WISE FUNCTION COMPOSED OF /// A SET OF BICUBIC POLYNOMIALS IN X AND Y. EACH POLYNOMIAL /// IS APPLICABLE TO A RECTANGLE OF THE INPUT GRID IN THE X-Y /// PLANE. EACH POLYNOMIAL IS DETERMINED LOCALLY. /// </summary> /// <param name="x">VECTOR OF DIMENSION LX STORING THE X COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="y">VECTOR OF DIMENSION LY STORING THE Y COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="z">MATRIX OF DIMENSION (LX,LY) STORING THE VALUES OF THE FUNCTION (Z VALUES) AT INPUT GRID POINTS</param> /// <param name="u">VECTOR OF DIMENSION N STORING THE X COORDINATES OF DESIRED POINTS</param> /// <param name="v">VECTOR OF DIMENSION N STORING THE Y COORDINATES OF DESIRED POINTS</param> /// <param name="w">VECTOR OF DIMENSION N WHERE THE INTERPOLATED Z VALUES AT DESIRED POINTS ARE TO BE DISPLAYED</param> public static void Interpolate(IROVector x, IROVector y, IROMatrix z, IROVector u, IROVector v, IVector w) { BivariateAkimaSpline spline = new BivariateAkimaSpline(); spline.itplbv_(x.Length, y.Length, x, y, z, w.Length, u, v, w); }
/// <summary> /// THIS SUBROUTINE INTERPOLATES, FROM VALUES OF THE FUNCTION /// GIVEN AT INPUT GRID POINTS IN AN X-Y PLANE AND FOR A GIVEN /// SET OF POINTS IN THE PLANE, THE VALUES OF A SINGLE-VALUED /// BIVARIATE FUNCTION Z = Z(X,Y). /// THE METHOD IS BASED ON A PIECE-WISE FUNCTION COMPOSED OF /// A SET OF BICUBIC POLYNOMIALS IN X AND Y. EACH POLYNOMIAL /// IS APPLICABLE TO A RECTANGLE OF THE INPUT GRID IN THE X-Y /// PLANE. EACH POLYNOMIAL IS DETERMINED LOCALLY. /// </summary> /// <param name="x">ARRAY OF DIMENSION LX STORING THE X COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="y">ARRAY OF DIMENSION LY STORING THE Y COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="z">DOUBLY-DIMENSIONED ARRAY OF DIMENSION (LX,LY) STORING THE VALUES OF THE FUNCTION (Z VALUES) AT INPUT GRID POINTS</param> /// <param name="u">ARRAY OF DIMENSION N STORING THE X COORDINATES OF DESIRED POINTS</param> /// <param name="v">ARRAY OF DIMENSION N STORING THE Y COORDINATES OF DESIRED POINTS</param> /// <param name="w">ARRAY OF DIMENSION N WHERE THE INTERPOLATED Z VALUES AT DESIRED POINTS ARE TO BE DISPLAYED</param> public static void Interpolate(double[] x, double[] y, double[] z, double[] u, double[] v, double[] w) { BivariateAkimaSpline spline = new BivariateAkimaSpline(); spline.itplbv_(x.Length,y.Length,x,y,z,w.Length,u,v,w); }
/// <summary> /// THIS SUBROUTINE INTERPOLATES, FROM VALUES OF THE FUNCTION /// GIVEN AT INPUT GRID POINTS IN AN X-Y PLANE AND FOR A GIVEN /// SET OF POINTS IN THE PLANE, THE VALUES OF A SINGLE-VALUED /// BIVARIATE FUNCTION Z = Z(X,Y). /// THE METHOD IS BASED ON A PIECE-WISE FUNCTION COMPOSED OF /// A SET OF BICUBIC POLYNOMIALS IN X AND Y. EACH POLYNOMIAL /// IS APPLICABLE TO A RECTANGLE OF THE INPUT GRID IN THE X-Y /// PLANE. EACH POLYNOMIAL IS DETERMINED LOCALLY. /// </summary> /// <param name="x">ARRAY OF DIMENSION LX STORING THE X COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="y">ARRAY OF DIMENSION LY STORING THE Y COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="z">DOUBLY-DIMENSIONED ARRAY OF DIMENSION (LX,LY) STORING THE VALUES OF THE FUNCTION (Z VALUES) AT INPUT GRID POINTS</param> /// <param name="u">ARRAY OF DIMENSION N STORING THE X COORDINATES OF DESIRED POINTS</param> /// <param name="v">ARRAY OF DIMENSION N STORING THE Y COORDINATES OF DESIRED POINTS</param> /// <param name="w">ARRAY OF DIMENSION N WHERE THE INTERPOLATED Z VALUES AT DESIRED POINTS ARE TO BE DISPLAYED</param> public static void Interpolate(double[] x, double[] y, double[] z, double[] u, double[] v, double[] w) { BivariateAkimaSpline spline = new BivariateAkimaSpline(); spline.itplbv_(x.Length, y.Length, x, y, z, w.Length, u, v, w); }
/// <summary> /// Old interface to the akima spline. Since all arrays are converted to IVector or IMatrix, avoid this interface if possible. /// </summary> /// <param name="x">ARRAY OF DIMENSION LX STORING THE X COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="y">ARRAY OF DIMENSION LY STORING THE Y COORDINATES OF INPUT GRID POINTS (IN ASCENDING ORDER)</param> /// <param name="z">DOUBLY-DIMENSIONED ARRAY OF DIMENSION (LX,LY) STORING THE VALUES OF THE FUNCTION (Z VALUES) AT INPUT GRID POINTS</param> /// <param name="u">ARRAY OF DIMENSION N STORING THE X COORDINATES OF DESIRED POINTS</param> /// <param name="v">ARRAY OF DIMENSION N STORING THE Y COORDINATES OF DESIRED POINTS</param> /// <param name="w">ARRAY OF DIMENSION N WHERE THE INTERPOLATED Z VALUES AT DESIRED POINTS ARE TO BE DISPLAYED</param> public static void Interpolate(double[] x, double[] y, double[] z, double[] u, double[] v, double[] w) { BivariateAkimaSpline spline = new BivariateAkimaSpline(); spline.itplbv_(x.Length, y.Length, VectorMath.ToROVector(x), VectorMath.ToROVector(y), MatrixMath.ToROMatrix(z, x.Length), w.Length, VectorMath.ToROVector(u), VectorMath.ToROVector(v), VectorMath.ToVector(w)); }