Sunteți pe pagina 1din 4

Metode Numerice

METODE NUMERICE -Laborator Cap.2


Rezolvarea ecuațiilor
5. Metoda Aproximațiilor Succesive /Metoda punctului fix
Curs -Prof. dr.ing. Ioana Opriș
Laborator -MBA drd.ing Cris an Copilău

Fie f(x)=0 :R →R

Există x0 € R a.î f(x0) =0

Principiul metodei de rezolvare

Calcul itera v pornind de la o transformare algebrică a funcției date

f(x)=0 → x=g(x)

și de la o aproximație inițială a rădăcinii, x0 a.î.

xi=g(xi-1) │ x1=g(x0)

Condiții de convergență

(a) │x2-x1 │ <= │x1-x0│

(b) g’(x)<1

unde :

xi este valoarea rădăcinii în iterația curentă,


xi-1 este valoarea rădăcinii în iterația anterioară
x0 este aproximația inițială
g’(x) este derivate intâi a g(x)

Calculul se oprește când eroarea rela vă de calcul îndeplinirea condiția impusă.

εr= │ │ <=εadm

1
Metode Numerice
Calcul tabelar EXCEL

3. Metoda aproximatiilor succesive

Ex. 3(a) Metoda aproximatiilor succesive


f(x)= 500/x*(1-exp(-0.2*x))-40

x0= 11 aproximatia initiala


Er[%]= 0.10%

f(x) -> g(x)=x g(x)=12.5*(1-exp(-0.2*x))


xR= 12.5*(1-exp(-0.2*x))

i xR=xi x0=xi-1 Ea Er[%]


1 11.1150 11.0000 0.1150 1.034%
2 11.1464 11.1150 0.0315 0.282%
3 11.1549 11.1464 0.0085 0.076%
4 11.1572 11.1549 0.0023 0.020%
5 11.1578 11.1572 0.0006 0.005%
6 11.1580 11.1578 0.0002 0.001%
7 11.1580 11.1580 0.0000 0.000%
radacina= 11.1580

Ex.3(b)
f(x)= x^2-9.2*x+15.4

x0= 1.8000 aproximatia initiala


Er[%]= 0.10%

f(x) -> g(x)=x g(x)=-15.4/x+9.2

xR= -15.4/x+9.2

i xR=xi x0=xi-1 Ea Er[%]


1 0.6444 1.8000 1.1556 179.31%
2 -14.6966 0.6444 15.3410 104.39%
3 10.2479 -14.6966 24.9444 243.41%
4 7.6972 10.2479 2.5506 33.14%
5 7.1993 7.6972 0.4980 6.92%
6 7.0609 7.1993 0.1384 1.96%
7 7.0190 7.0609 0.0419 0.60%
8 7.0059 7.0190 0.0130 0.19%
9 7.0019 7.0059 0.0041 0.06%
10 7.0006 7.0019 0.0013 0.02%
11 7.0002 7.0006 0.0004 0.01%
12 7.0001 7.0002 0.0001 0.00%
13 7.0000 7.0001 0.0000 0.00%
radacina= 7.0000
f(7)= 0.0000

2
Metode Numerice

Chart Title
8.00

6.00

4.00

2.00

0.00
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00
-2.00

-4.00

-6.00

-8.00

f(x)= g(x)=

Ex. 3(c)
f(x)= x^3+x-1

x0= 1 aproximatia initiala


Er[%]= 0.10%

f(x) -> g(x)=x g(x)=1/(x^2+1)

xR= 1/(xi-1^2+1)

i xR=xi x0=xi-1 Ea Er[%]


1 0.5000 1.00000 0.5000 100.00%
2 0.8000 0.50000 0.3000 37.50%
3 0.6098 0.80000 0.1902 31.20%
4 0.7290 0.60976 0.1192 16.35%
5 0.6530 0.72897 0.0760 11.63%
6 0.7011 0.65300 0.0481 6.86%
7 0.6705 0.70106 0.0306 4.56%
8 0.6899 0.67047 0.0194 2.81%
9 0.6775 0.68988 0.0123 1.82%
10 0.6854 0.67754 0.0078 1.14%
11 0.6804 0.68537 0.0050 0.73%
12 0.6836 0.68039 0.0032 0.46%
13 0.6815 0.68356 0.0020 0.29%
14 0.6828 0.68155 0.0013 0.19%
15 0.6820 0.68282 0.0008 0.12%
16 0.6825 0.68201 0.0005 0.08%
radacina= 0.68253

3
Metode Numerice

Radacina= 0.6825
Metoda Aprx Succesive
120.00% 0.9000
0.8000
100.00%
0.7000
80.00% 0.6000
0.5000
60.00%
0.4000
40.00% 0.3000
0.2000
20.00%
0.1000
0.00% -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Er[%] xR=xi

Algoritm MATLAB

function Rad_Aprox_scv(func,gunc,x0,Er,maxiter)
% func=@(x)x^3+x-1
% gunc=@(x)1/(x^2+1)
% "func" este functia algebrica pentru care se cauta radacina- f(x)=0
% "gunc" este functia asociata g(x)=x
% apelez Rad_Aprox_scv(@(x)x^3+x-1, @(x)1/(x^2+1), 2,0.001,25)
% definirea functiilor f(x) si g(x) se face inaintea apelarii algoritmului de
% calcul (function aprox_scv)
% x0 este aproximatia initiala a radacinii
% Er este eroarea de calcul admisibila
% maxiter nr. maxim de iteratii in care se fac calcule

x0=1;
iter=1;
while iter<=maxiter
x1=gunc(x0);
Ec=abs((x1-x0)/x1);
if(Ec<=Er)
disp("radacina este=" +double(x1))
disp('gata')
break
end
x0=x1;
iter=iter+1;
end

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