Sunteți pe pagina 1din 7

Tema:

A elaborat : BabcinschiOctavian
Elevul clasei a : XII-a ,,A,, -real

Scopul lucrrii practice
Teoria metodei biseciei
Algoritm
Programul efectuat prin
metoda biseciei
Concluzie













Scopul lucrarii:



1. Sa se separe toate radacinele reale ale
ecuatiilor F(x)=0 , unde y= F(x) functie real
cu valori reale.

2. Sa precizeze radacina obtinuta cu
exactitate eps=0,0001 utilizind metoda
bisectiei

Ecuatiile :
F1:=x
3
-23x-42=0
F2:=2x-e
4x
=0




Metoda bisectiei (injumatatirii)

Metoda bisectiei se foloseste la rezolvarea numerica a ecuatiilor algebrice si transcendente,
in cazul cind nu putem obtine solutiile ecuatiei f(x)=0 in forma analitica.
Se considera ecuatia f(x)=0. Functia f(x) este continua pe[a, b]. Presupunem ca in urma
unui proces de separare a radacinilor ecuatia f(x)=0 are cel mult o radacina in [a, b].
Algoritmul:|
Consideram ca f(a)<0, f(b)>0.
Pasul 1. Verificam daca la capetele intervalului functia ia valori de semn opus.
Pasul 2. Impartim [a, b] in 2 parti egale prin punctul x
0
=(a+b)/2
Pasul 3. Daca f(x
0
)=0, atunci x
0
este radacina cautata, altfel alegem [a
1
, b
1
] la capetele caruia
functia are semne opuse.
a
1
=a
0
, b
1
=x
0,
daca f(a)*f(x
0
)<0
a
1
=x
0
, b
1
=b
0,
daca f(a)*f(x
0
)>0.
Acest interval il notam din nou cu [a, b].
Pasul 4. Daca lungimea intervalului a devenit mai mica ca , atunci oprim executia algoritmului,
iar in calitate de solutie se va lua orice valoare din intervalul [a, b]. In caz contrar revenim la
pasul 2.
Numarul maximal de diviziuni a intervalului [a,b] poate fi obtinut apriori din relatia >(b-a)/2
n
,
adica n=[ln((b-a)/ )/ln2]+1.
Fig. 1. Calculul consecutiv al segmentelor, care conin
soluia ecuatiei


Exemplu 1: S se determine o rdcin a ecuaiei x
3
-23x-42=0 pe segmentul
[0, 1] pentru 16 divizri consecutive.
Deoarece numrul de aproximri succesive este fixat, iar extremitile segmentului cunoscute,
atribuirile se realizeaz nimijlocit n program.
Program exemplu1;
var a,b,c: real;
i,n:integer;
function f(x:real):real;
begin f:=x*x*x-23*x-42 ;end;
begin a:=0; b:=1; n:=16;
for i:=1 to n do
begin c:=(b+a)/2;
writeln ('i=',i:2, ' x=' , c:10:8, ' f(x)= ' , f(c):12:8);
if f(c)=0 then break
else if f(c)*f(a)>0 then a:=c else b:=c;
end;
end.

Rezultatele:

i= 1 x=0.50000000 f(x)= -53.37500000
i= 2 x=0.75000000 f(x)= -58.82812500
i= 3 x=0.87500000 f(x)= -61.45507813
i= 4 x=0.93750000 f(x)= -62.73852539
i= 5 x=0.96875000 f(x)= -63.37210083
i= 6 x=0.98437500 f(x)= -63.68677139
i= 7 x=0.99218750 f(x)= -63.84356737
i= 8 x=0.99609375 f(x)= -63.92182928
i= 9 x=0.99804688 f(x)= -63.96092606
i=10 x=0.99902344 f(x)= -63.98046589
i=11 x=0.99951172 f(x)= -63.99023366
i=12 x=0.99975586 f(x)= -63.99511701
i=13 x=0.99987793 f(x)= -63.99755855
i=14 x=0.99993896 f(x)= -63.99877929
i=15 x=0.99996948 f(x)= -63.99938965
i=16 x=0.99998474 f(x)= -63.99969482

Exemplu 2 : S se determine o rdcin a ecuaiei 2x-e
4x
=0 pe segmentul [2, 4]

Program exemplu2;
var a,b,c,eps:real;
function f(x:real):real;
begin f:=2*x-exp(4*x) ;end;

begin a:=2; b:=4; eps:=0.00017;
repeat
c:=(b+a)/2;
writeln ('x=',c:10:8, ' f(x)=' , f(c):12:8);
if f(c)=0 then break
else if f(c)*f(a)>0 then a:=c else b:=c;
until abs (b-a)<eps;

end.



Rezultatele

x=3.00000000 f(x)=-162748.79141900
x=3.50000000 f(x)=-1202597.28416478
x=3.75000000 f(x)=-3269009.87247211
x=3.87500000 f(x)=-5389690.72628301
x=3.93750000 f(x)=-6920501.95683058
x=3.96875000 f(x)=-7841957.07287258
x=3.98437500 f(x)=-8347720.33181935
x=3.99218750 f(x)=-8612705.65733111
x=3.99609375 f(x)=-8748336.15408878
x=3.99804688 f(x)=-8816950.26371723
x=3.99902344 f(x)=-8851458.86069383
x=3.99951172 f(x)=-8868763.77475576
x=3.99975586 f(x)=-8877428.91453969
x=3.99987793 f(x)=-8881764.65873395



Concluzie
n urma lucrrii practice la Metoda biseciei am ajuns la
concluzia c Metoda este aplicabil atunci cnd
rezolvm ecuaia f(x) = 0 pentru variabila real x, unde f
este o funcie continu definit pe intervalul [a, b], iar
f(a) i f(b) au semne opuse. n acest caz, teorema valorii
intermediare garanteaz c exist o rdcin a funciei f
n intervalul (a, b). La fiecare pas, metoda mparte
intervalul n dou, calculnd jumtatea intervalului c =
(a+b) / 2 i valoarea funciei f(c) n acest punct. n afar
de cazul n care c este nsi rdcina funciei, mai
exist dou posibiliti: ori f(c) este de semn opus cu f(a),
ori este de semn opus cu f(b). Metoda selecteaz
subintervalul (a,c) n primul caz sau (c,b) n al doilea caz,
iar acest subinterval devine noul interval n care
urmeaz s fie cutat rdcina funciei. n acest fel,
interval care conine o rdcin a funciei f este redus n
lime cu 0.5, la fiecare pas. Procesul se continu pn
cnd intervalul este suficient de mic.

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