static void Main(string[] args) { Stopwatch SW = new Stopwatch(); double a = 1.1; double b = 2.5; double alpha = 0.4; double beta = 0; SW.Start(); SW.Stop(); SW.Restart(); var n = 2; var integralSum = GaussMethod.Integrate(Function, a, b, alpha, beta, n); SW.Stop(); output("Метод Гаусса", integralSum, n, SW.ElapsedTicks); SW.Restart(); n = 3; integralSum = NewtonCotesMethod.Integrate(Function, a, b, alpha, beta, n); SW.Stop(); output("Метод Ньютона-Котса", integralSum, n, SW.ElapsedTicks); for (int i = 10; i <= 10000; i *= 10) { SW.Restart(); integralSum = MidpointMethod.Integrate(Function, P, a, b, alpha, beta, i); SW.Stop(); output("Метод средней точки", integralSum, i, SW.ElapsedTicks); } Console.ReadLine(); }
static void Main(string[] args) { Stopwatch SW = new Stopwatch(); double accRunge; double richOptStep; int segmNum = 100; double integralSum; int n; double a = 1.1d; double b = 2.5d; double alpha = 0.4d; double beta = 0; SW.Start(); SW.Stop(); //SW.Restart(); //n = 2; //integralSum = GaussMethod.CompoundIntegrate(Function, a, b, alpha, beta, n, segmNum); //SW.Stop(); //output("CQF (Gauss)", integralSum, n, SW.ElapsedTicks); //richOptStep = Mathematics.GetOptStepRichardson(GaussMethod.CompoundIntegrate, Function, a, b, alpha, beta, n, 2, n - 1, 1e-6); //Console.WriteLine("Optimal step (Richardson): " + richOptStep); //Console.WriteLine(" => Optimal n: " + Mathematics.GetGoodNum(a, b, richOptStep)); SW.Restart(); n = 3; integralSum = NewtonCotesMethod.CompoundIntegrate(Function, a, b, alpha, beta, n, segmNum); SW.Stop(); output("CQF (Newton-Cotes)", integralSum, n, SW.ElapsedTicks); accRunge = Mathematics.AccuracyRunge(integralSum, NewtonCotesMethod.CompoundIntegrate(Function, a, b, alpha, beta, n, segmNum * 2), n - 1); var optStep = Mathematics.GetOptStep(a, b, segmNum, accRunge, n - 1, 1e-6); Console.WriteLine("Optimal step (Runge): " + optStep); Console.WriteLine(" => Optimal n: " + Mathematics.GetGoodNum(a, b, optStep)); richOptStep = Mathematics.GetOptStepRichardson(NewtonCotesMethod.CompoundIntegrate, Function, a, b, alpha, beta, n, 2, n - 1, 1e-6); Console.WriteLine("Optimal step (Richardson): " + richOptStep); Console.WriteLine(" => Optimal n: " + Mathematics.GetGoodNum(a, b, richOptStep)); Console.WriteLine("Error (Runge): " + accRunge); }