( ) . : ( ) F(X)=0 ε.
ε , |Xn-Xn-1| < ε, Xn Xn-1 , (n-1) n , () , , F(X).
F(X)=0 X=G(X). ε X0. X1 X0 X1=G(X0) ( 0 ), X0 X1 , 0 1 ε.
, |G'()|<1 , .
. , X0 X=(X-0,1)4 +0,1. ε .
uses
SysUtils, Math;
var
X0, X1, Eps, dX: Extended;
begin
ReadLn(X0,Eps);
repeat
X1:=IntPower(X0-0.1, 4)+0.1;
dX:=Abs(X0-X1);
X0:=X1
until dX<Eps;
WriteLn(' ',Eps, ' ',X0);
............
end.
. , ε =10-3 X0<1,1, 0,1 |G'(X)| = |4(X-0,1)3 |<1 ( , .3.1). 1,1 (1,1 ), |G'(X)| >1 , , , .
X=G(X) |G'(X)|>1, X=H(X), H(X) - G(X) , . , , X=(X-0,1)4 +0,1, , |G'(X)|¹0.
uses
SysUtils, Math;
var
X0, X1, Eps, dX, P: Extended;
begin
ReadLn(X0,Eps);
P:=Abs(4*IntPower(X0-0.1,3));
if P=0 then
begin
WriteLn(' !');
ReadLn;
Halt;
end
else if P<1 then
//
repeat
X1:=IntPower(X0-0.1, 4)+0.1;
dX:=Abs(X0-X1);
|
|
X0:=X1
until dX<Eps
else if P>1 then
//
repeat
X1:=Power(X0-0.1,0.25)+0.1;
dX:=Abs(X0-X1);
X0:=X1
until dX<Eps;
WriteLn(' ',Eps, ' ',X0);
.......
end.
(, X =1/X) (, X = 1/(X-10-6).
, , , .
. . X = 1/(X-10-6) ε. N , , ε N, , .
var
X0, X1, Eps:Extended;
I, N:Integer;
F:Boolean;
begin
ReadLn(X1,Eps,N);
F:=False;
for I:=1 to N do
begin
X0:=X1;
X1:=1/(X0-1E-6);
F:=Abs(X0-X1)<Eps;
if F then
//
break;//
end;
if F then
WriteLn(' X0 = ',X0:12,' ',i,' ')
else
WriteLn(' ',Eps:0,' '
,N,' ');
.......
end.
X0=0,5, ε =10-3, N=5000000 , 5000000 .
F(X)=0 ε : XL XR, . F(XL)F(XR)<0, , F(X) , , , X2=0. (XR) (XL) (XL,XR) : F((XR+XL)/2) F(XL), XL (XR+XL)/2, XR (. . 3.2). , R L ε.
. arctg(X)-X=0 ε L R .
ReadLn(XL,XR,Eps);
YL:=ArcTan(XL)-XL;
repeat
X:=(XL+XR)/2;
Y:= ArcTan(X)-X;
if Y*YL>0 then
XL:=X
else
XR:=X;
until Abs(XR-XL)<Eps;
WriteLn(' ', X:12);
F(X)=0 ε X0. F(X0)F''(X0)>0. X1= X0-F(X0)/F'(X0), X0 X1 (. . 3.3). , 0 1 ε.
|
|
.
(X-0,1)4 X + 0,1=0
ε 0.
ReadLn(X0, Eps);
repeat
dX:=(IntPower(X0-0.1, 4)-X0+0.1)/(4*IntPower(X0-0.1, 3)-1);
X1:=X0-dX;
X0:=X1
until Abs(dX)<Eps;
WriteLn(' ', X0:12);
4(X-0,1)3 1 (X-0,1)4 X + 0,1. , , ,
dX1:=(IntPower(X0-0.1, 4) - X0+0.1)
/(((IntPower(X0+1e-8-0.1, 4) - X0+1e-8+0.1)
-(IntPower(X0-0.1,4) - X0+0.1))/1e-8);
ΔX=10-8.
3.3
30 (. ). 92-10+1 18-10 , 33-52++0,4=0.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var
X0,X1,Eps,dX,X,XL,XR,YL,Y:Extended;
i,N:Integer;
begin
//
WriteLn(' ');
Write(' X0, Eps N: ');
ReadLn(X0,Eps,N);
//
if (3*IntPower(X0,3)-5*Sqr(X0)+X0+0.4)*(18*X0-10) <= 0 then
WriteLn(' '
,' !')
else
begin
i:=0;
repeat
i:=i+1;
dX:= (3*IntPower(X0,3)-5*Sqr(X0)+X0+0.4)
/(9* Sqr(X0)-10*X0+1);
X1:=X0-dX;
X0:=X1
until (Abs(dX)<Eps) or (i=N);
if Abs(dX)<Eps then
WriteLn(' ',X0:14,' ',i
,' , Y(X) = '
,3* IntPower(X0,3)-5* Sqr(X0)+X0+0.4:14)
else
WriteLn(' !');
end;
WriteLn;
//
WriteLn(' ');
Write(' XL, XR, Eps N: ');
ReadLn(XL, XR, Eps, N);
//
if (3*IntPower(XL,3)-5*Sqr(XL)+XL+0.4)
*(3*IntPower(XR,3)-5*Sqr(XR)+XR+0.4) > 0 then
WriteLn(' '
,' !')
else
begin
YL:=3*IntPower(XL,3)-5*Sqr(XL)+XL+0.4;
i:=0;
repeat
X:=(XL+XR)/2;
Y:= 3*IntPower(X,3)-5*Sqr(X)+X+0.4;
if Y*YL>0 then
XL:=X
else
XR:=X;
inc(i);
until (Abs(XR-XL)<Eps) or (i=N);
if Abs(XR-XL)<Eps then
WriteLn(' ',X:14,' '
,i,' , Y(X) = ',Y:14)
else
WriteLn(' ');
end;
ReadLn;
end.