Метод половинного деления
Для нахождения корня уравнения f(x)=0, принадлежащего отрезку [a,b], делим отрезок пополам, т.е. выбираем начальное приближение равным . Если f(x0)=0, то x0 является корнем уравнения. Если f(x0)¹0, то выбираем тот из отрезков [a,x0] или [x0,b], на концах которого функция f(x) имеет противоположные знаки. Полученный отрезок снова делим пополам и проводим те же рассуждения.
Процесс деления отрезков пополам продолжаем до тех пор, пока длина отрезка, на концах которого функция имеет противоположные знаки, не будет меньше заданной точности e.
Пример: Методом половинного деления найти корень уравнения на отрезке [2,3]с заданной точностью e=0.0001.
Program Poldel; {метод половинного деления}
Uses
Crt;
Const
eps=0.0001;
Var
x,a,b:Real;
Function F(z:Real):Real;
Begin
F:=z-sqrt(9+z)+z*z-4;
End;
Begin
Clrscr;
Write ('Ведите отрезок a,b -->');
ReadLn (a,b);
Repeat
x:=0.5*(b+a);
If f(x)=0 then Break;
If f(a)*f(x)<0 then b:=x
else a:=x;
Until b-a<eps;
WriteLn ('Корень уравнения x=',x:8:4);
WriteLn ('Проверка f(',x:8:4,')=',f(x):8:5);
Repeat Until KeyPressed;
End.
Дата добавления: 2015-04-15; просмотров: 688;