YAMP.Numerics.SplineInterpolation.SplineInterpolation C# (CSharp) Méthode

SplineInterpolation() public méthode

Creates a new instance.
public SplineInterpolation ( MatrixValue samples ) : System
samples YAMP.MatrixValue The Nx2 matrix containing the sample data.
Résultat System
        public SplineInterpolation(MatrixValue samples)
            : base(samples)
        {
            a = new double[Np];
            h = new double[Np];

            for (int i = 2; i <= Np; i++)
                h[i - 1] = samples[i, 1].Re - samples[i - 1, 1].Re;

            if (Np > 2)
            {
                double[] sub = new double[Np - 1];
                double[] diag = new double[Np - 1];
                double[] sup = new double[Np - 1];

                for (int i = 2; i < Np; i++)
                {
                    int j = i - 1;
                    diag[j] = (h[j] + h[j + 1]) / 3;
                    sup[j] = h[j + 1] / 6;
                    sub[j] = h[j] / 6;
                    a[j] = (samples[i + 1, 2].Re - samples[i, 2].Re) / h[j + 1] - (samples[i, 2].Re - samples[i - 1, 2].Re) / h[j];

                }

                SolveTridiag(sub, diag, sup, ref a, Np - 2);
            }
        }