Ниже представлена реализация алгоритма метода хорд.
CODE
Код:public static void metod_hord(double a,double b,double fa,double fb,double d,int k) { double c; while (true) { k++; c = a - (fa / (fb - fa) * (b - a)); double fc = f(c); if (Math.Abs(fc) < d) break; if (fa * fc < 0) { b = c; fb = fc; } else { a = c; fa = fc; } } Console.WriteLine("Решение методом хорд: корень:{0}", c); Console.WriteLine("Значение функции: f(x)= {0}", f(c)); Console.WriteLine("Количество вычислений функции: {0}", k + 2); Console.WriteLine("Количество итераций: {0}", k); }
где a - левая граница промежутка локализации корней
b - правая граница соответственно
d - задаваемая погрешность решаемой задачи (epsilon) в нашем случае она равна 0.01
fa - значение функции в т. а
fb - значение функции в т. b
k - счётчик подсчёта количества вычислений функции и подсчёт количества итерации