Metoda bisectiei, numita uneori si metoda dihotomiei sau a injumatatirii
intervalelor, este cea mai simpla dintre metodele de rezolvare a ecuatiilor algebrice si transcendente. Se considera ca, printr-un procedeu oarecare, s-a reusit localizarea radacinii exacte a ecuatiei f(x)=0 in intervalul [ , ]. In ipoteza in care functiaf(x) este continua, iar radacina este singurul zerou al lui f(x) in [ , ], la extremitatile intervalului functia ia valori de semne contrare: f( ) * f( )<0.
Determinarea aproximatiei ' a radacinii exacte cu o precizie folosind
metoda bisectiei foloseste urmatoarea schema (vezi si figura de mai sus): intervalul [ , ] se injumatateste prin punctul m=( + )/2 si se calculeaza produsul f(m) * f( ). Daca f(m) * f( ) este pozitiv, radacina se gaseste intre si m.In acest caz, se retine valoarea lui m ca extremitatea dreapta a intervalului ( <-- m) si se reia procedeul. Daca f(m) * f( ) este negativ, radacina se gaseste intre m si . De aceasta data, se modifica extremitatea stanga a intervalului ( <-- m) si se reia procedeul. Aceasta schema se aplica in mod repetat pana cand lungimea intervalului [ , ] - modificat de la o iteratie la alta - scade sub valoarea limita 2* , adica - < 2* . Daca, in acest moment, se considera ca radacina aproximativa '=( + )/2, acesta nu se indeparteaza de solutia exacta cu mai mult de . Desigur, intr- un caz banal, este posibil ca, in cursul injumatatirii intervalelor succesive [ , ], punctul m sa coincida cu radacina exacta . Aceasta situatie se recunoaste prin anularea produsului f(m) * f( ), caz in care schema de calcul se intrerupe, dispunand in acest caz chiar de radacina exacta '=m= .
Algoritmul 1 - Ecuatii neliniare - Metoda bisectiei
1. Definirea functiei f(x), a intervalului de lucru [ , ], a preciziei si a numarului maxim de iteratii Nmax. 2. Procesul iterativ: i. Initializarea procesului iterativ: It <-- 0; ii. Daca s-a atins precizia doritta ( - < 2* ) sau numarul maxim de iteratii Nmax se incheie bucla iterativa si se trece la pasul 3. iii. Se trece la o noua iteratie: It <-- It+1; iv. Injumatatirea intervalului curent: m <-- ( + )/2 ; v. Stabilirea noului interval de lucru: a. Daca f(m) * f( )<0, radacina se gaseste in [m , ]; se actualizeaza limita stanga: <-- m si se trece la pasul 2.vi; b. Daca f(m) * f( )>0, radacina se gaseste in [ , m]; se actualizeaza limita dreapta: <-- m si se trece la pasul 2.vi; c. Daca f(m) * f( )=0, radacina este m; se actualizeaza ambele limite: <-- m, <-- m si se trece la pasul 2.vi; vi. Se revine la pasul 2.ii; 3. Calculul radacinii aproximative: x <-- ( + )/2.