Sunteți pe pagina 1din 3

Model de lucrare de laborator numarul 3

Tema: Rezolvarea aproximativă a ecuaţiilor numerice prin metoda lui Newton


Lucrarea de laborator constă în 2 etape:
1. Rezolvarea matematică a problemei formulate.
a. Se separă soluţiile ecuaţiei date, adică se stabilesc astfel de segmente (intervale)
de lungime cît mai mică, ca fiecare din ele să conţină o singură soluţie ( metoda
grafică, tabelară şi a. ).
b. Se determină soluţiile cu exactitatea dată ε>0. aceasta se poate realiza prin mai
multe metode (mai jos expuse). Esenţa tuturor metodelor constă în construirea
după o lege sau alta a unui şir de numere (aproximaţii) xn , care converge la
soluţia căutată. Se poate deduce anumite formule, care ne permit să calculăm
soluţia cu exactitatea cerută ε>0.

Exemplu 1. Să se determine soluţia aproximativă a ecuaţiei x − (5 − x ) = 0 prin metoda


3

lui Newton, cu rădăcinile reale cuprinse în intervalul ξ ∈ [3,4] şi ε = 10 −3 .


Rezolvare. Verificăm condiţia lui Fourier: f (x 0 ) f ′′(x0 ) > 0 , unde f (x ) = x − (5 − x )3 , atunci
f ′( x ) = 1 + 3(5 − x ) ; f ′′( x ) = −6(5 − x ) .
2

Fie a = 3, b = 4 cu f (a ) = −5, f (b ) = 3 şi f ′′(a ) = −12, f ′′(b ) = −6 , atunci f (a) ⋅ f ′′(a) > 0 , ceea
ce înseamnă că iniţial se va considera x0 = a = 3 .
Folosind formula (1.6) avem:
f (x0 )
x1 = x0 − = 3,3846; f ( x1 ) = −0,8307 ,
f ′(x0 )
cu condiţia x0 − x1 = 3 − 3,3846 = 3,846 > ε ;
Nu este verificată condiţia de oprire,
N xn f (x n ) x n − x n −1 vom continua cu determinarea următorului
1 -1,0000 4,3891 - termen al şirului iterativ
f ( x1 )
2 -0,6814 1,2260 0,3186 x 2 = x1 − = 3,4787; f (x 2 ) = −0,0421,
f ′(x1 )
cu condiţia x 2 − x1 = 0,0941 > ε .
Aflăm pe
f (x 2 )
x3 = x 2 − = 3,4840; f ( x3 ) = −0,0001,
f ′( x 2 )
cu condiţia x3 − x 2 = 0,0053 > ε ;
f (x3 )
x 4 = x3 − = 3,4840
f ′( x3 )
şi ajungem la condiţia x 4 − x3 = 0,0000 ;
Răspuns: Rădăcina aproximativă este: x = 3,4840 .
Exemplu 2. Să se determine soluţia ecuaţiei x − 2 + e −2 x = 0 prin metoda lui Newton,
dacă ξ ∈ [− 1;0] şi ε = 10 −3 .
Rezolvare. Considerăm a = −1, b = 0 , unde f (0) = −1 , f (− 1) = 4,3891 .Verificăm
condiţia f ′(x ) = −2 − 2e −2 x ,
f ′′( x ) = 4e −2 x > 0 . Considerăm f (a ) ⋅ f ′′(a ) > 0 şi f (b ) ⋅ f ′′(b ) < 0 ; fie x0 = a , cu această condiţie
calculăm
3 -0,5015 -0,2251 0,1799
4 -0,4510 0,0135 0,0506
5 -0,4476 -0,0001 0,0034 f (x0 ) 4,3891
x1 = x 0 − = −1 − = −0,6814
f ′(x 0 ) − 12,46
6 -0,4475 -0,0000 0,0000
şi f (x1 ) = f (− 0,6814) = 1,2260 , x1 − x0 > ε .
Procedură este asemănătoare cu cea din exemplul 6. Datele obţinute în urma calculelor
se pot organiza în tabelul 5.
După datele din tabel am obţinut că ultima aproximaţie se obţine la iteraţia a 6-a unde
rădăcina aproximativă este x = −0,4475 .
Răspuns: rădăcina aproximativă este x = −0,4475 .

2. Alcătuirea unui program de calcul pentru metoda indicată şi pentru exemplul dat.
Să se implementeze un program în limbajul de programare dorit (Pascal, MatLab, C,
C++, Java, etc.). Să se afişeze şi rezultate obţinute în urma implementării programului.

Program Newton;
const eps=1.0e-3;
var x0,x:real;

function f(x:real):real;
begin
f:= x-sqr(5-x)*(5-x);
end;

function df(x:real):real;
begin
df:=1+3*sqr(5-x);
end;

function d2f(x:real):real;
begin
d2f:=-6*(5-x);
end;

procedure Newton(x0:real; var x:real);


var n:integer;
d:real;
begin
n:=0;
writeln('eroarea eps=', eps:6:4);
writeln;
writeln('n x(n) f(x(n)) x(n)-x(n-1)');
repeat
x:=x0-f(x0)/df(x0);
d:=abs(x-x0);
inc(n);
writeln (n:2, x:10:4, f(x):10:4, d:10:4);
x0:=x;
until (d<eps) and (abs(f(x))<eps);
end;

begin
writeln('----------------- metoda Newton---------------');
writeln('aproximatia initiala x0=');
read(x0);
if (f(x0)*d2f(x)>0.0) then
begin
write('conditia fourier:');
writeln('f(x0)*d2f(x0)=', f(x0)*d2f(x0):10:4,
' mai mare de cat 0');
newton (x0,x);
writeln;
writeln('radacina aproximativa este x=',x:10:5);
end
else
writeln('conditia lui fourier nu este indeplinita pentr x0 ales');
readln

end.

S-ar putea să vă placă și