コード例 #1
0
        static void Main(string[] args)
        {
            int i = 0;
            //double a = 1; double b = 6; int N = 1880;
            double a = 1; double b = 6; int N = 1880;
            //double a = -1.26; double b = 2; int N = 1880;
            //double a = -2.5; double b = 10; int N = 1880;
            //double a = -13; double b = 20; int N = 1880;
            //double promienprzedzialu = 0;

            double promienprzedzialu = 0.0000005;
            //double promienprzedzialu = 0.000005;
            //double promienprzedzialu = 0.0005;
            Funkcje_Poddane_całkowaniu licz = new Funkcje_Poddane_całkowaniu(a, b, 2, promienprzedzialu);
            L_prz_Skierowane           _Skierowane = new L_prz_Skierowane(0, 0);
            L_prz_Klasyczne            _Klasyczne = new L_prz_Klasyczne(0, 0);

            _Skierowane = licz.Funkcja_Skierowane();            _Klasyczne = licz.Funkcja_Klasyczne();
            Console.Out.WriteLine(";klasyczne;;skierowane");
            Console.Out.WriteLine("N;dolny kraniec;górny kraniec;dolny kraniec;górny kraniec");
            for (i = 2; i < N + 1; i++)
            {
                licz        = new Funkcje_Poddane_całkowaniu(a, b, i, promienprzedzialu);
                _Skierowane = licz.Funkcja_Skierowane();
                _Klasyczne  = licz.Funkcja_Klasyczne();
                Console.Out.WriteLine("" + i + ";" + _Klasyczne.Poczatek + ";" + _Klasyczne.Koniec + ";" + _Skierowane.Poczatek + ";" + _Skierowane.Koniec);
            }


            Console.ReadLine();
        }
コード例 #2
0
        public L_prz_Klasyczne funkcjaKlasyczne(L_prz_Klasyczne x)
        {
            L_prz_Klasyczne y = new L_prz_Klasyczne(0, 0);

            //y = 0.7 * x + 1.1
            y = -1 * (x - 2) * (x - 2) + 3 * x + 5
                //y = (5) / (5 * x * x * x * x * x - 6 * x + 13)
                //y = (78 * x * x) / (5 * x * x - 6 * x + 13)
                //y = (-2 * (x - 1.9) * (x - 1.9) * (x - 1.9) * (x - 1.9) * (x - 1.9)) / (5 * x * x * x * x + 13)
            ; return(y);
        }
        public L_prz_Klasyczne Funkcja_Klasyczne()
        {
            wyniki_Klasyczne = new L_prz_Klasyczne[N];
            L_prz_Klasyczne czescpier        = new L_prz_Klasyczne(czesc_pierwsza_rownania, czesc_pierwsza_rownania);
            L_prz_Klasyczne czescdruga       = new L_prz_Klasyczne(czesc_druga_rownania, czesc_druga_rownania);
            funkcja_wzor    funkcjaKlasyczne = new funkcja_wzor();

            sumKlasyczne = new L_prz_Klasyczne(0, 0);
            for (int i = 0; i < N; i++)
            {
                wyniki_Klasyczne[i] = funkcjaKlasyczne.funkcjaKlasyczne(czescpier * l_Prz_Klasyczne[i, 0] + czescdruga);
                wyniki_Klasyczne[i] = wyniki_Klasyczne[i] * l_Prz_Klasyczne[i, 1];
                sumKlasyczne       += wyniki_Klasyczne[i];
            }
            sumKlasyczne *= czescpier;
            return(sumKlasyczne);
        }
コード例 #4
0
 static public L_prz_Klasyczne[,] kwadratura_in_Klasyczne(int N, double promienprzedzialu)
 {
     L_prz_Klasyczne[,] kwadratura_in_S = new L_prz_Klasyczne[N, 2]; double[,] to_jest = kwadratura(N);
     for (int i = 0; i < N; i++)
     {
         double czy_weszlo = to_jest[i, 0] + promienprzedzialu;
         double czy_weszlo_dol = to_jest[i, 0] - promienprzedzialu; int poprzecinek;
         if (promienprzedzialu != 0)
         {
             poprzecinek = ile_zer(promienprzedzialu);
             if (czy_weszlo > 1)
             {
                 czy_weszlo = 1;
             }
             if (czy_weszlo_dol < -1)
             {
                 czy_weszlo_dol = -1;
             }
             if (czy_weszlo >= 0)
             {
                 czy_weszlo = Math.Round(czy_weszlo, poprzecinek, MidpointRounding.AwayFromZero);
             }
             else
             {
                 czy_weszlo = Math.Round(czy_weszlo, poprzecinek, MidpointRounding.ToEven);
             }
             if (czy_weszlo_dol >= 0)
             {
                 czy_weszlo_dol = Math.Round(czy_weszlo_dol, poprzecinek, MidpointRounding.ToEven);
             }
             else
             {
                 czy_weszlo_dol = Math.Round(czy_weszlo_dol, poprzecinek, MidpointRounding.AwayFromZero);
             }
             if (czy_weszlo > 1)
             {
                 czy_weszlo = 1;
             }
             if (czy_weszlo_dol < -1)
             {
                 czy_weszlo_dol = -1;
             }
         }
         kwadratura_in_S[i, 0] = new L_prz_Klasyczne(czy_weszlo_dol, czy_weszlo);
         czy_weszlo            = to_jest[i, 1] + promienprzedzialu;   czy_weszlo_dol = to_jest[i, 1] - promienprzedzialu;
         if (promienprzedzialu != 0)
         {
             poprzecinek = ile_zer(promienprzedzialu);
             if (czy_weszlo >= 0)
             {
                 czy_weszlo = Math.Round(czy_weszlo, poprzecinek, MidpointRounding.AwayFromZero);
             }
             else
             {
                 czy_weszlo = Math.Round(czy_weszlo, poprzecinek, MidpointRounding.ToEven);
             }
             if (czy_weszlo_dol >= 0)
             {
                 czy_weszlo_dol = Math.Round(czy_weszlo_dol, poprzecinek, MidpointRounding.ToEven);
             }
             else
             {
                 czy_weszlo_dol = Math.Round(czy_weszlo_dol, poprzecinek, MidpointRounding.AwayFromZero);
             }
             if (czy_weszlo > 1)
             {
                 czy_weszlo = 1;
             }
             if (czy_weszlo_dol < -1)
             {
                 czy_weszlo_dol = -1;
             }
         }
         kwadratura_in_S[i, 1] = new L_prz_Klasyczne(czy_weszlo_dol, czy_weszlo);
     }
     return(kwadratura_in_S);
 }