Уточнение корней может осуществляться различными методами.
Пусть 1) функция y=F(x) определена и непрерывна на отрезке [a,b].
2) F(a)F(b)<0
Требуется найти корень на отрезке с точностью ε.
Разделим отрезок [a,b] пополам точкой . Если , то возможны два случая: 1) F(x) меняет знак на отрезке [a; c];
2) F(x) меняет знак на отрезке [c; b].
Выбираем тот отрезок, на котором функция меняет знак. Если F(x) меняет знак на отрезке [a; c], то b:=c; если F(x) меняет знак на отрезке [c; b], то a:=c.
Условие окончания счета: .
Корень уравнения: . Погрешность метода: .
Рассмотрим положительные и отрицательные стороны метода половинного деления.
«Плюсы»:
«Минусы»:
· надежность
· не требует приведения к специальному виду
· не требует дифференцируемости функции
· устойчив к ошибкам округления
· медленная сходимость
· метод не применим для корней четной кратности:
Блок-схема уточнения корней методом половинного деления:
Программа уточнения корней методом половинного деления:
program pol_del;
var a,b,c,e,x,dX: real;
N:integer;
function f(x: real):real;
begin
{записать, функцию в виде f:=[математическое выражение]}
f:=x*x*x-x+4;
end;
begin
write('Введите левую границу отрезка - a: ');readln(a);
write('Введите правую границу отрезка - b: ');readln(b);