示例#1
0
 public static decimal K21(decimal t, decimal tay)
 {
     if (t != tay)
     {
         return(VectorHelper.Mult(
                    VectorHelper.Div(
                        Parametrization_ND.X1(tay),
                        Parametrization_ND.X1(t)),
                    Normal.GetNormal(t,
                                     Parametrization_ND.X11d,
                                     Parametrization_ND.X12d))
                / (decimal)Math.Pow(
                    (double)Normal.GetModul(
                        VectorHelper.Div(
                            Parametrization_ND.X1(t),
                            Parametrization_ND.X1(tay)))
                    , 2));
     }
     else
     {
         return(VectorHelper.Mult(
                    new[] { Parametrization_ND.X11d2(t), Parametrization_ND.X12d2(t) },
                    Normal.GetNormal(t,
                                     Parametrization_ND.X11d,
                                     Parametrization_ND.X12d))
                / (2M * (decimal)Math.Pow(
                       (double)Normal.GetModul(new[]
         {
             Parametrization_ND.X11d(t),
             Parametrization_ND.X12d(t)
         })
                       , 2)));
     }
 }
示例#2
0
 public static decimal P12_2(decimal t, decimal tay)
 {
     if (t != tay)
     {
         return((decimal)Math.Log(4 / Math.E *
                                  Math.Pow(
                                      Math.Sin(
                                          (double)(t - tay) / 2
                                          ), 2)
                                  / Math.Pow((double)Normal.GetModul(
                                                 VectorHelper.Div(
                                                     Parametrization_ND.X1(t),
                                                     Parametrization_ND.X1(tay))), 2)) / 2);
     }
     else
     {
         return((decimal)Math.Log(1 /
                                  (Math.E * Math.Pow((double)
                                                     Normal.GetModul(new[]
         {
             Parametrization_ND.X11d(t),
             Parametrization_ND.X12d(t)
         })
                                                     , 2))) / 2);
     }
 }
示例#3
0
        private static decimal[] GetH_1()
        {
            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.X11(t) * Parametrization_ND.X12d(t) / Normal.GetModul(new[]
                {
                    Parametrization_ND.X11d(t),
                    Parametrization_ND.X12d(t)
                });

                var dod2 = 2M * Parametrization_ND.X12(t) * Parametrization_ND.X11d(t) / Normal.GetModul(new[]
                {
                    Parametrization_ND.X11d(t),
                    Parametrization_ND.X12d(t)
                });

                res[i] = (dod1 + dod2);
            }

            return(res);
        }
示例#4
0
 private decimal GetDod1(int j)
 {
     return(1M / (2M * Normal.GetModul(new[]
     {
         Parametrization_ND.X11d(t[j]),
         Parametrization_ND.X12d(t[j])
     })));
 }