Documente Academic
Documente Profesional
Documente Cultură
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;
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.