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