Documente Academic
Documente Profesional
Documente Cultură
x a0 = 1 a1 = 0 a2 = 1 a 3 = −1
0 1 0 1 -1
1 1 1 2 1
}schimbare de semn.
2 1 2 5 9
3 1 3 10 29
Deci x ∈ [0,1] , unde f (0 ) = −1 şi f (1) = 1 cu
condiţia că f (0) ⋅ f (1) < 0 ⇒ [0,1] , ceea ce înseamnă că există o soluţie pe acest interval şi nu
mai una singură.
Considerăm a = 0 şi b = 1 , atunci calculăm primul termen al şirului iterativ x1 după
formula generală (1.2), obţinem:
a + b 0 +1
x1 =
= = 0,5 ;
2 2
verificăm condiţia de oprire pentru primul pas x1 − a = 0,5 − 0 = 0,5 > ε .
Calculăm valoarea funcţiei în punctul x1 , pentru a putea a putea verifica ce interval va fi
divizat în continuare:
f (x1 ) = f (0,5) = 0,5 3 + 0,5 − 1 = 0,125 + 0,5 − 1 = −0,375 .
Se verifică f (x1 ) ⋅ f (b ) = f (0,5) ⋅ f (1) < 0 şi f (a ) ⋅ f (x1 ) = f (0) ⋅ f (0,5) > 0 , se observă că intervalul
ce va fi considerat în continuare va fi intervalul [ x1 , b] = [0,5;1] , deoarece capetele acestui interval
verifică condiţia f (x1 ) ⋅ f (b ) < 0 . Cu acestea calculăm pe x 2
b + x1 0,5 + 1
x2 = = = 0,75 .
2 2
La fel verificăm condiţia de oprire pentru al doilea pas x2 − x1 = 0,75 − 0,5 = 0,25 > ε , se
observă că nu avem verificată această condiţie, de aceea continuăm să determinăm şi alţi termeni
ai şirului. Pentru a determina x3 calculăm
f ( x 2 ) = f (0,75) = 0,75 3 + 0,75 − 1 = 0,1719 şi verificăm f (x1 ) ⋅ f (x2 ) = f (0,5) ⋅ f (0,75) < 0 sau
f (b) ⋅ f (x1 ) = f (1) ⋅ f (0,5) > 0 .
Astfel intervalul care se va împărţi în jumătate se va lua intervalul
x3 ∈ [ x1 , x 2 ] = [0,5;0,75] şi pe acest interval îl aflăm
x1 + x 2 0,5 + 0,75
x3 = = = 0,625 .
2 2
Condiţia de oprire este x3 − x2 = 0,625 − 0,75 = 0,125 > ε şi
f (x3 ) = f (0,625) = 0,6253 + 0,625 − 1 = −0,1309 .
Această procedură se repetă până când nu se verifică condiţia de oprire: valoarea absolută
a diferenţei dintre valoarea nou calculată şi valoarea precedent calculată să fie mai mică de cît
epsilon (dat iniţial).
În continuare se verifică produsele f (x1 ) ⋅ f (x3 ) şi f ( x3 ) ⋅ f ( x 2 ) , de unde
f (0,625) ⋅ f (0,75) < 0 , de unde x 4 ∈ [x 2 , x3 ], x 4 ∈ [0,625;0,75] , aflăm
x3 + x 2 0,75 + 0,625
x4 = = = 0,6875 .
2 2
Verificăm condiţia de oprire x 4 − x3 = 0,6875 − 0,6258 = 0,0625 > ε şi calculăm
f (x 4 ) = f (0,6875) = 0,68753 + 0,6875 − 1 = 0,0125 cu
f ( x3 ) ⋅ f ( x 4 ) = f (0,625) ⋅ f (0,6875) < 0
Determinăm x5 ∈ [x3 , x 4 ], x5 ∈ [0,6875;0,625] , adică
x3 + x 4 0,625 + 0,6875
x5 = = = 0,6563
2 2
şi condiţia x5 − x 4 = 0,6563 − 0,6875 = 0,0312 > ε ;
f (x5 ) = f (0,6563) = 0,65633 + 0,6563 − 1 = −0,061 ;
f ( x5 ) ⋅ f ( x 4 ) = f (0,6563) ⋅ f (0,6875) < 0 ;
Aflăm x6 ∈ [x5 , x 4 ], x 4 ∈ [0,6563;0,6875] , adică
x5 + x 4 0,6563 + 0,6875
x6 = = = 0,6719 ; x6 − x5 = 0,6719 − 0,6563 = 0,0156 > ε ;
2 2
f ( x 6 ) = f (0,6719) = 0,6719 3 + 0,6719 − 1 = −0,0248 ;
f ( x 6 ) ⋅ f ( x 4 ) = f (0,6719) ⋅ f (0,6875) < 0 ;
Aflăm x7 ∈ [x 6 , x 4 ], x6 ∈ [0,6719;0,6875]
x6 + x 4 0,6719 + 0,6875
x7 = = = 0,6797 ; x7 − x 6 = 0,6797 − 0,6719 = 0,0078 > ε ;
2 2
f ( x 7 ) = f (0,6797 ) = 0,6797 3 + 0,6797 − 1 = −0,0063 ;
f ( x 7 ) ⋅ f (x 4 ) = f (0,6797 ) ⋅ f (0,6875) < 0 ;
Aflam x8 ∈ [x 4 , x7 ], x8 ∈ [0,6797;0,6875] , adică
x 4 + x7 0,6797 + 0,6875
x8 = = = 0,6836 ; x8 − x7 = 0,6836 − 0,6797 = 0,0039 > ε ;
2 2
f (x8 ) = f (0,6836) = 0,6836 3 + 0,6836 − 1 = 0,0069 ; f ( x 7 ) ⋅ f (x8 ) = f (0,6797 ) ⋅ f (0,6836) < 0 ;
Aflam x9 ∈ [x7 , x8 ], x9 ∈ [0,6797;0,6875] , adica
x 7 + x8 06797 + 0,6836
x9 = = = 0,6817 ; x9 − x8 = 0,6817 − 0,6836 = −0,0019 > ε ;
2 2
f ( x9 ) = f (0,6817 ) = 0,6817 3 + 0,6817 − 1 = −0,0015 ;
f (x9 ) ⋅ f (x8 ) = f (0,6817 ) ⋅ f (0,6836) < 0 ;
Calculam x10 ∈ [x8 , x9 ], x10 ∈ [0,6817;0,6836]
x9 + x8 0,6817 + 0,6836
x10 = = = 0,6827 ;
2 2
x10 − x9 = 0,6827 − 0,6817 = 0,001 = ε s-a verificat condiţia de oprire şi am ajuns la valoare egală
cu ε dat.
Răspuns: Soluţia aproximativă este ξ = x10 = 0,6827 .
Exemplu 2. Să se determine soluţia ecuaţiei x − 2 + e −2 x = 0 prin metoda bisecţiei, dacă
ξ ∈ [− 1;0] şi ε = 10 −3 .
Rezolvare. Acest exemplu se rezolvă la fel ca şi exemplu 1, doar că avem o ecuaţie
transcendentă. Considerăm a = −1, b = 0 , unde f (− 1) = 4,3891, f (0 ) = −1 , verificăm condiţia
f (a ) ⋅ f (b ) < 0 , cu această condiţie calculăm:
a + b −1+ 0
x1 = = = −0,5 ;
2 2
b − a > ε şi f ( x1 ) = f (− 0,5) = 0,2183 ;
f (a ) ⋅ f (x1 ) = 4,3891 ⋅ 0,2183 > 0 ;
f (b ) ⋅ f ( x1 ) = −1 ⋅ 0,2183 < 0 .
Pentru a calcula x 2 luăm intervalul [x1 , b] şi divizăm intervalul.
În continuare toate calculele se vor organiza în tabelul 2
Tabelul 2
N an bn xn f (xn ) bn − a n
1 1,0000 0,0000 -0,5000 0,2183 1,0000
2 -0,5000 0,0000 -0,2500 -0,6013 0,5000
3 -0,5000 -0,2500 -0,3750 -0,2580 0,2500
4 -0,5000 -0,3750 -0,4375 -0,0386 0,1250
5 -0,5000 -0,4375 -0,4688 -0,0848 0,0625
6 -0,4688 -0,4375 -0,4531 0,0219 0,0313
7 -0,4531 -0,4375 -0,4453 0,0087 0,0156
8 -0,4531 -0,4373 -0,4492 0,0065 0,0078
9 -0,4492 -0,4373 -0,4473 -0,0011 0,0039
10 -0,4492 -0,4373 -0,4482 0,0027 0,0020
11 -0,4492 -0,4373 -0,4478 0,0008 0,0010
După datele din tabel am obţinut că cea mai bună aproximaţie este la iteraţia a 11–a cu
rădăcina aproximativă x = −0,44775 .
Răspuns: Soluţia aproximativă este ξ = x11 = −0,44775 .
2. Utilizarea procesorului Excel la determinarea soluţiei ecuaţieii.
Pentru solutionarea ecuaţiei prin metoda grafică şi metoda bisecţiei să se aplice
procesorul tabelar Excel. Se va reprezenta grafic ecuaţia şi se va detremina soluţia ecuaţiei
prin metoda bisecţiei.
Să se determine una din rădăcinile reale ale ecuaţiilor, folosind metoda bisecţiei unde
ε = 10 −3 pentru ecuaţiile transcendente: 3 x + x − 2 = 0
Rezolvare:
x -4 -3 -2 -1 0 1 2 3 4
y1 0,012346 0,037037 0,111111 0,037037 0,037037 3 9 27 81
y2 6 5 4 3 2 1 0 -1 -2
90
80
70
60
50
y1
40
y2
30
20
10
0
-6 -4 -2 -10 0 2 4 6
3. Alcătuirea unui program de calcul pentru metoda indicată şi pentru exemplul dat.
Să se implementeze un program în limbajul de programare dorit (Pascal, MatLab, C,
C++, Java, etc.). Să se afişeze şi rezultate obţinute în urma implementării programului.
Program bisectie;
const eps=1.0e-3;
var a,b,x:real;
function f(x:real):real;
begin
f:=x*x*x+x-1;
end;
begin
writeln('----------------- metoda bisectiei---------------');
writeln('capetele intervalului');
write('a=');
read(a);
write('b=');
read(b);
writeln('f(a)=', f(a):8:4,'f(b)=',f(b):8:4);
if f(a)*f(b)>0.0 then
writeln(' radacina nu e in intervalulu [',a:6:2,',',b:2,']')
else
begin
bisect(a,b,x);
writeln;
writeln('radacina aproximativa este x=',x:10:5);
end;
readln
end.