Реализации алгоритмов/Метод бисекции: различия между версиями

→‎На языке C: обновление данных
(→‎На языке C: оформление)
(→‎На языке C: обновление данных)
xd = xd / 2; // вычисляем длину новых отрезков;
xm = xl + xd; // вычисляем значение x в середине отрезка;
signfxl = copysign(1, f(xl)); // придаём единице знак f(xmxl);
signfxm = copysign(1, f(xm)); // придаём единице знак f(xrxm);
if ( signfxl != signfxm ) // узнаём, находится ли искомыйискомое кореньприближение к корню в левой части;
xr = xm; // берём левую часть;
else // иначе искомыйискомое кореньприближение к корню находится в правой части;
xl = xm; // берём правую часть;
}
printf ("Value of function: %.10lf\n", f(xm)); // выводим значение функции вблизи корня
printf ("Left bound equal: %.10lf\n", xl ); // выводим xl
printf ("Middle of line segment: %.10lf\n", (xl + xr) / 2); // выводим результатприближение вблизик корнякорню
printf ("Right bound equal: %.10lf\n", xr ); // выводим xr
printf ("Numbers of iterations equal: %10i\n", n ); // выводим число проходов (делений на 2, итераций) n
Анонимный участник