Sunteți pe pagina 1din 5

Metode Numerice

METODE NUMERICE -Laborator Cap.2


Rezolvarea ecuațiilor
4. Metoda secantei
Curs -Prof. dr.ing. Ioana Opriș
Laborator -MBA drd.ing Cris an Copilău

Fie f(x)=0 :R →R

Există x0 si x1 € R a.î f(x0) și f(x1)=0

Principiul metodei de rezolvare

Rădăcina se calculează itera v folosind formula Newton - Raphson

(𝑥 − 𝑥 )
𝑥 =𝑥 − 𝑓(𝑥 )∗
𝑓(𝑥 ) − 𝑓(𝑥 )

unde :

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


xi-1 și xi-2 sunt valorile rădăcinilor calculate în doua iterații anterioare
f(xi-1) și f(xi-2) sunt valorile funcșiei în punctelel xi-1 și xi-2

Condiții de convergență

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

(b) εr ↓ 0

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

εr= │ │ <=εadm

1
Metode Numerice
Calcul Tabelar EXCEL

5. Metoda Secantei

Ex. 5(a)
f(x)= 500/x*(1-exp(-0.2*x))-40

x0= 11 aproximatia initiala


x1= 12 aproximatia initiala
Er[%] 0.10%

xR= x1-f(x1)*(x1-x0)/(f(x1)-f(x0))

i xR x1 x0 f(x1) f(x0) Ea Er[%]


1 11.1651 12.0000 11.0000 -2.1132 0.4180 0.8349 7.477%
2 11.1577 11.1651 12.0000 -0.0186 -2.1132 0.0074 0.066%
3 11.1581 11.1577 11.1651 0.0008 -0.0186 0.0003 0.003%
4 11.1581 11.1581 11.1577 0.0000 0.0008 0.0000 0.000%
radacina= 11.1581

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

x0 2 aproximatia initiala
x1 3 aproximatia initiala
Er[%] 0.10%

xR= x1-f(x1)*(x1-x0)/(f(x1)-f(x0))

i xR x1 x0 f(x1) f(x0) Ea Er[%]


1 2.2381 3 2 -3.2000 1.0000 0.7619 34.043%
2 2.1923 2.2381 3 -0.1814 -3.2000 0.0458 2.089%
3 2.2001 2.1923 2.2381 0.0370 -0.1814 0.0078 0.352%
4 2.2000 2.2001 2.1923 -0.0003 0.0370 0.0001 0.003%
5 2.2000 2.2000 2.2001 0.0000 -0.0003 0.0000 0.000%
radacina= 2.2000

x0 5 aproximatia initiala
x1 9 aproximatia initiala

i xR x1 x0 f(x1) f(x0) Ea Er[%]


1 6.1667 9 5 13.6000 -5.6000 2.833333 0.4595
2 6.7207 6.1667 9 -3.3056 13.6000 0.554004 0.0824
3 7.0631 6.7207 6.1667 -1.2628 -3.3056 0.342458 0.0485
4 6.9962 7.0631 6.7207 0.3070 -1.2628 0.066975 0.0096
5 7.0000 6.9962 7.0631 -0.0185 0.3070 0.003797 0.0005
6 7.0000 7.0000 6.9962 -0.0002 -0.0185 5E-05 0.0000
radacina= 7.0000

2
Metode Numerice

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

x0= 0 aproximatia initiala


x1= 1 aproximatia initiala
Er[%] 0.10%

xR= x1-f(x1)*(x1-x0)/(f(x1)-f(x0))

i xR x1 x0 f(x1) f(x0) Ea Er[%]


1 0.5 1 0 1 -1 0.5 100.00%
2 0.6364 0.5000 1.0000 -0.3750 1.0000 0.136364 21.43%
3 0.6901 0.6364 0.5000 -0.1059 -0.3750 0.053689 7.78%
4 0.6820 0.6901 0.6364 0.0186 -0.1059 0.008032 1.18%
5 0.6823 0.6820 0.6901 -0.0007 0.0186 0.000305 0.04%
6 0.6823 0.6823 0.6820 0.0000 -0.0007 2.02E-06 0.00%
Radacina= 0.6823

Metoda Secantei
0 1 2 3 4 5 6 7
120.00% 0.8

0.7
100.00%
0.6
80.00%
0.5

60.00% 0.4

0.3
40.00%
0.2
20.00%
0.1

0.00% 0
0 1 2 3 4 5 6 7

Er[%] xR

Ex.4(c)
f(x)= x^3-7x^2+15x-9

x0= 0.5 aproximatia initiala


x1= 2.5 aproximatia initiala
Er[%] 0.10%

f'(x)= 3x^2-14x+15

3
Metode Numerice

xR= x1-f(x1)*(x1-x0)/(f(x1)-f(x0))

i xR x1 x0 f(x1) f(x0) Ea Er[%]


1 2.2857 2.5000 0.5000 0.3750 -3.1250 2.0000 80.000%
2 2.7860 2.2857 2.5000 0.6560 0.3750 0.2143 9.375%
3 2.8573 2.7860 2.2857 0.0818 0.6560 0.5003 17.957%
4 2.9186 2.8573 2.7860 0.0378 0.0818 0.0713 2.494%
5 2.9496 2.9186 2.8573 0.0127 0.0378 0.0614 2.102%
6 2.9694 2.9496 2.9186 0.0049 0.0127 0.0310 1.052%
7 2.9812 2.9694 2.9496 0.0018 0.0049 0.0198 0.665%
8 2.9884 2.9812 2.9694 0.0007 0.0018 0.0118 0.394%
9 2.9928 2.9884 2.9812 0.0003 0.0007 0.0073 0.243%
10 2.9956 2.9928 2.9884 0.0001 0.0003 0.0044 0.148%
11 2.9973 2.9956 2.9928 0.0000 0.0001 0.0027 0.091%
12 2.9983 2.9973 2.9956 0.0000 0.0000 0.0017 0.056%
13 2.9990 2.9983 2.9973 0.0000 0.0000 0.0010 0.035%
14 2.9994 2.9990 2.9983 0.0000 0.0000 0.0006 0.021%
15 2.9996 2.9994 2.9990 0.0000 0.0000 0.0004 0.013%
16 2.9998 2.9996 2.9994 0.0000 0.0000 0.0002 0.008%
radacina= 2.9998 0.0000

4
Metode Numerice

Algoritm MATLAB
function Rad_Secanta(func,x0, x1, Er, maxiter)

% "func" este functia algebrica pentru care se cauta radacina


% definirea functiei se face in linia de apelarea a functiei
% cu sintaxa @(x)........
% sau se face inaintea apelarii functiei folosind aceeasi sintaxa
% x0 si x1 sunt aproximatii initiale ale radacinii
% Er este eroarea de calcul admisibila
% maxiter nr. maxim de iteratii in care se fac calcule

iter=1;
for iter=1:maxiter
xR=x1-func(x1)*(x1-x0)/(func(x1)-func(x0));
Ec=abs((xR-x1)/xR)
if(Ec<=Er)
disp('functia '), disp(func)
disp("are radacina=" +xR)
disp('gata')
break
else
iter=iter+1;
x0=x1;
x1=xR;
end
end
disp("iter=" +iter)
if (iter>maxiter) & (Ec>Er)
disp(' nu sunt solutii in domeniul indicat')
end

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