Documente Academic
Documente Profesional
Documente Cultură
Fie f(x)=0 :R →R
𝑓(𝑥 )
𝑥 =𝑥 −
𝑓′(𝑥 )
unde :
Condiții de convergență
(b) εr ↓ 0
εr= │ │ <=εadm
1
Metode Numerice
Calcul tabelar EXCEL
Ex. 4(a)
f(x)= 500/x*(1-exp(-0.2*x))-40
Ex.4(b)
f(x)= x^2-9.2*x+15.4
x01= 1.8 aproximatia initiala
x02= 5 aproximatia initiala
Er[%] 0.10%
f'(x)= 2*x-9.2
xR= xi-1-f(xi-1)/f'(xi-1)
x01= 1.8000
i xR x01 f(x0) f'(x0) Ea Er[%] atan(f'(xR))
1 2.1714 1.8000 2.0800 -5.6000 0.3714 17.105% -79.8753
2 2.1998 2.1714 0.1380 -4.8571 0.0284 1.291% -78.3664
3 2.2000 2.1998 0.0008 -4.8003 0.0002 0.008% -78.2325
7 2.2000 2.2000 0.0000 -4.8000 0.0000 0.000% -78.2317
Radacina= 2.2000
2
Metode Numerice
Ex.4(c)
f(x)= x^3-7x^2+15x-9
f'(x)= 3x^2-14x+15
xR= xi-1-f(xi-1)/f'(xi-1)
Ex.4(d)
f(x)= x^3+x-1
f'(x)= 3*x^2+1
xR= xi-1-f(xi-1)/f'(xi-1)
3
Metode Numerice
Metoda Newton-Raphson
0 1 2 3 4 5 6
35.000% 0.7600
0.7500
30.000%
0.7400
25.000%
0.7300
20.000% 0.7200
15.000% 0.7100
0.7000
10.000%
0.6900
5.000%
0.6800
0.000% 0.6700
0 1 2 3 4 5 6
Er[%] xR
4
Metode Numerice
Algoritm MATLAB
function Rad_Newton(func,x0,Er,maxiter)
iter=1;
syms x
func1(x)=diff(func(x));
while iter<=maxiter
%disp('func1='), disp(double(func1(x0)))
if(abs(func1(x0))<=Er)
disp('radacina multipla'), disp(double(x0))
disp('gata')
break
end
xR=x0-func(x0)/func1(x0);
Ec=abs((xR-x0)/xR);
if(Ec<=Er)
disp('radacina este='), disp(double(xR))
%disp('pentru verificarea radacinii multiple tb crescuta precizia')
disp('gata')
break
end
x0=xR;
iter=iter+1;
end