Documente Academic
Documente Profesional
Documente Cultură
Fie f(x)=0 :R →R
Ǝ xR €[xinf, xsup]
0.5
x0 xsup
0 xinf
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.5
-1
-1.5
(1) 𝑥 =𝑥 − 𝑥 −𝑥 ∗ ( )
atunci:
xinf=xinf
xsup=x0 → (2)
atunci:
xinf=x0
xsup=xsup → (2)
(2) εc= │ │
unde:
x0i este valoarea rădăcinii în iterația curentă,
x0i-1 este valoarea rădăcinii în iterația anterioară
Calculul se oprește când eroarea rela vă de calcul îndeplinirea condiția impusă.
1
Metode Numerice
Ex. 2(a)
f(x)= 500/x*(1-exp(-0.2*x))-40
xR € [10,13]
Er[%]= 0.10%
test=f(xinf)*f(xsup)
f(x)=500/x*(1-exp(-0.2*x))-40
4
3
2
1
0
-1 10 10.2 10.4 10.6 10.8 11 11.2 11.4 11.6 11.8 12 12.2 12.4 12.6 12.8 13
-2
-3
-4
-5
Ex.2(b)
f(x)= x^2-9.2*x+15.4
xR € [2,3]
Er[%]= 0.10%
xR= xinf-f(xinf)*(xsup-xinf)/(f(xsup)-f(xinf))
2
Metode Numerice
Ex.2(c)
f(x)= x^3+x-1
xR € [0,1]
Er[%]= 0.10%
=f(xinf)*f(xsup) test=f(xinf)*f(xR)
<0 =1
xR= xinf-f(xinf)*(xsup-xinf)/(f(xsup)-f(xinf)) >0 =0
3
Metode Numerice
Algoritm MATLAB
function[xR]=Rad_Coarda(func, xinf, xsup, Er,maxiter)
% "func" este functia pentru care se cauta radacina
% definirea "func" se face apriori apelarii sau chiar in linia de comanda a functiei
% Ex: Rad_Coarda(@(x)x^3+x-1,0,1,0.01,15)
% calcul (function coarda)
% [xinf, xsup] este intervalul in care se presupune ca se gaseste radacina
% Er este eroarea de calcul admisibila
% maxiter nr. maxim de iteratii in care se fac calcule
if (func(xinf)*func(xsup)<=0)
iter=1;
xR=xinf;
while iter<=maxiter
xRold=xR;
xR=xinf-(xsup-xinf)*func(xinf)/(func(xsup)-func(xinf));
test=func(xR)*func(xinf);
if test>0
%disp('test>0')
xinf=xR;
end
if test<0
%disp('test<0')
xsup=xR;
end
if (iter>1)
Ec=abs((xR-xRold)/xR);
%disp("----Ec=" +Ec); disp("-------------------xR=" +xR)
if(Ec<=Er)
if abs(func(xR))<0.01
%disp("=====================Ec<Er")
disp("radacina este xR=" +xR)
disp('gata')
break
if (xR<xinf) & (xR>xsup)
disp("radacina in afara intervalului de cautare xR=" +xR)
break
end
else
disp('radacina falsa')
break
end %abs(func
end %Ec
end
iter=iter+1;
end
else
disp('nu sunt radacini in interval, sau este gresit ales intervalul')
end