Exemple #1
0
        public void AbsolutUniformGridInterpolationMatrixExperimentTest()
        {
            //подготовка входных данных
            int    GridSize = 11;
            double a        = 0d;
            double b        = 1d;
            int    deg      = 4;

            MyMathLib.Grid grid = new MyMathLib.Grid(deg, GridSize, a, b);
            grid.ToMiddleUniformSplineGrid();
            double expect = 0.167d;
            //выполнение кода
            Matrix A = BasisSpline.DeBoorMethods.SlowCreateInterpolationMatrix(grid, deg);

            Console.WriteLine("beginIndex = " + grid.BeginIndex);
            Console.WriteLine("endIndex = " + grid.EndIndex);
            Console.WriteLine(grid);
            Console.WriteLine(A);
            double actual = A[0, 0];

            //compare
            Assert.AreEqual(expect, actual, 0.01d);
        }
Exemple #2
0
        public void CreateAbsolutUniformGrid_4_11_0_1()
        {
            //подготовка входных данных
            int    GridSize = 11;
            double a        = 0d;
            double b        = 1d;
            double expect1  = -0.2d;
            double expect2  = 1.2d;
            double EPS      = 0.000000001d;
            int    deg      = 4;

            //выполнение кода

            MyMathLib.Grid grid = new MyMathLib.Grid(deg, GridSize, a, b);
            grid.ToMiddleUniformSplineGrid();
            Console.WriteLine("new grid" + grid);
            double actual2 = grid.Last;
            double actual1 = grid.First;

            //проверка
            Assert.AreEqual(expect1, actual1, EPS, "Неправильное расширение отрезка");
            Assert.AreEqual(expect2, actual2, EPS, "Неправильное расширение отрезка");
        }