Beispiel #1
0
        public void KernelTest()
        {
            double[] x, y;
            double   actual;

            var target = new BSpline(10);

            x      = new double[] { 1, 2, 3, 6, 2, 2, 1 };
            y      = new double[] { 4, 5, 6, 9, 5, 3, 1 };
            actual = target.Function(x, y);
            Assert.AreEqual(0.00000000070098200355454978, actual);

            x      = new double[] { 5, 11, 2, 9, 4, 5, 4 };
            y      = new double[] { 4, 5, 1, 1, 3, 3, 4 };
            actual = target.Function(x, y);
            Assert.AreEqual(0.00000000000000017965181746434572, actual);

            target = new BSpline(20);
            x      = new double[] { 1, 2, 3 };
            y      = new double[] { 4, 5, 6 };
            actual = target.Function(x, y);
            Assert.AreEqual(0.00020921661189636344, actual);

            x      = new double[] { 5, 11, 2 };
            y      = new double[] { 4, 5, 1 };
            actual = target.Function(x, y);
            Assert.AreEqual(0.000042265155534640169, actual);

            target = new BSpline(20);
            x      = new double[] { 0.1, 0.5, 0.01 };
            y      = new double[] { 0.3, 0.02, 0.04 };
            actual = target.Function(x, y);
            Assert.AreEqual(0.0092334372187475831, actual);

            x      = new double[] { 0.5, 0.11, 0.2 };
            y      = new double[] { 0.4, 0.5, 0.1 };
            actual = target.Function(x, y);
            Assert.AreEqual(0.0093633595480067857, actual);
        }