1.Постановка
задачи: решить систему уравнений F(x)=0
;Функция (*):
arctg(x)-1/(3*x3)=0;
2.Метод
Дихотомии.
Программа:
var
x0,x1,e,x2:real;
begin
writeln('vv/otrezok
s kornem');
readln(x0);readln(x1);
writeln('tochnost');
read(e);
repeat
x2:=(x0+x1)/2;
if
((arctan(x0)-1/(3*x0*x0*x0))*(arctan(x2)-1/(3*x2*x2*x2))<0) or
((arctan(x0)-1/(3*x0*x0*x0))*(arctan(x2)-1/(3*x2*x2*x2))=0)
then
begin x0:=x0 ; x1:=x2; end else
if((arctan(x1)-1/(3*x1*x1*x1))*(arctan(x2)-1/(3*x2*x2*x2))<0)
or
((arctan(x1)-1/(3*x1*x1*x1))*(arctan(x2)-1/(3*x2*x2*x2))=0)
then
begin x0:=x2;x1:=x1; end;
until
abs(arctan(x2)-1/(3*x2*x2*x2)) <e;
writeln('
rez x*=',x2:5:3);
end.
3.
Результаты:
Turbo
Pascal Version 7.0 Copyright (c) 1983,92 Borland International
vv.
otrezok
0
2
tochnost
0.001
rez
x*=0.778
4.Метод
простых итераций.
Программа:
var
x0,e,i,x1,x2:real;f:integer;
begin
writeln('Nachal
x ');
readln(x0);
writeln('Tochnost');
readln(e);
f:=0;
x1:=x0;
{if
x0>0 then {x*x-5x-9=0 }
repeat
x0:=x1;
x1:=sin(1/(3*x0*x0*x0))/cos(1/(3*x0*x0*x0));
inc(f);
i:=abs(arctan(x1)-1/(3*x1*x1*x1))
until
i<e;
writeln(x1:5:3);
write(f);
end.
5.Результаты:
Turbo
Pascal Version 7.0 Copyright (c) 1983,92 Borland International
Nachal
x
1
Tochnost
0.001
0.777
4
6.
Метод Ньютона.
Программа:
var
x0,x1,e:real;i:integer;
begin
writeln('nachal
x= ');
read(x0);
writeln
('Tochnost e=');
Read(e);
x1:=x0;
repeat
x0:=x1;
x1:=x0-(arctan(x0)-1/(3*x0*x0*x0))/(1/(x0*x0+1)+1/(x0*x0*x0*x0));
inc(i)
until
abs(arctan(x1)-1/(3*x1*x1*x1))<e;
writeln(x1:5:6,'
',i);
end.
7.
Результаты:
Turbo
Pascal Version 7.0 Copyright (c) 1983,92 Borland International
nachal
x= 1
Tochnost
e= 0.001
0.777457
10
8.Вывод.
Корни
функции (*) были посчитаны треия разными
способами с точностью ε=0.001.Полученные
результаты оказались близкими по
значению x*≈0,77.
|