K
kameliya
Метод Ньютона решения нелинейного уравнения
Код:
program Newton;
uses crt; {модуль управления экраном}
function f(x:real):real; {Исходная функция}
begin
f:=sqr(sqr(x))-5*sqr(x)-x+1;
end;
function f1(x:real):real; {Первая производная функции}
begin
f1:=4*x*sqr(x)-10*x-1;
end;
var a,b,x,e,en:real;
i:integer;
begin
clrscr; {очистить экран}
writeln ('Решение нелинейного уравнения методом Ньютона');
writeln ('Уравнение x^4+5x^2-x+1=0');
write ('Введите левую и правую границы интервала:');
read (a,B);
write ('Введите требуемую точность решения:');
read (e);
writeln ('Решение:');
writeln ('Номер шага Значение X');
en:=abs(a-B);
x:=b;
i:=1;
while (abs(en)>e) do begin {Пока не достигнута точность}
x:=x-f(x)/f1(x); {выполнить шаг метода}
writeln (i:10,x:20:14); {вывести значение X с шага}
en:=abs(x-B); {Новая точность}
b:=x; {Значение границы для следующего шага}
i:=i+1; {Номер шага}
end;
end.