예제 #1
0
        private static decimal[] GetF1_0()
        {
            var res = new decimal[2 * Parameters.M];

            for (int i = 0; i < res.Length; i++)
            {
                var t = (decimal)((decimal)i * (decimal)Math.PI) / (decimal)Parameters.M;
                res[i] = (decimal)(Math.Pow((double)Parametrization_ND.X01(t), 2) - Math.Pow((double)Parametrization_ND.X02(t), 2));
            }

            return(res);
        }
예제 #2
0
        public decimal CalculateU(decimal[] x)
        {
            decimal sum1 = 0;
            decimal sum2 = 0;

            for (int k = 0; k < 2 * Parameters.M; k++)
            {
                sum1 += destiny[k] * Kernels_ND.Fundamental(x, new [] { Parametrization_ND.X01(t[k]), Parametrization_ND.X02(t[k]) });
                sum2 += destiny[k + 2 * Parameters.M] * Kernels_ND.Fundamental(x, new [] { Parametrization_ND.X11(t[k]), Parametrization_ND.X12(t[k]) });
            }

            return((sum1 + sum2) / (2M * Parameters.M));
        }
예제 #3
0
        private static decimal[] GetH_0()
        {
            var res = new decimal[2 * Parameters.M];

            for (int i = 0; i < res.Length; i++)
            {
                var t    = (decimal)((decimal)i * (decimal)Math.PI) / (decimal)Parameters.M;
                var dod1 = 2M * Parametrization_ND.X01(t) * Parametrization_ND.X02d(t) / Normal.GetModul(new[]
                {
                    Parametrization_ND.X01d(t),
                    Parametrization_ND.X02d(t)
                });

                var dod2 = 2M * Parametrization_ND.X02(t) * Parametrization_ND.X01d(t) / Normal.GetModul(new[]
                {
                    Parametrization_ND.X01d(t),
                    Parametrization_ND.X02d(t)
                });

                res[i] = dod1 + dod2;
            }

            return(res);
        }