Metoda de bisecție
În analiza numerică , metoda bisecției (sau algoritmul dihotomic) este cea mai simplă metodă numerică pentru a găsi rădăcinile unei funcții . Eficiența sa este slabă și are dezavantajul de a necesita ipoteze deosebit de restrictive. Cu toate acestea, are avantajul considerabil de a fi stabil cu fiecare ocazie și, prin urmare, de a garanta întotdeauna succesul operațiunii. [1]
Descriere
Având în vedere ecuația definit și continuă într-un interval , astfel încât , este apoi posibil să se calculeze o aproximare în (vezi teorema zero ).
Procedăm împărțind intervalul în două părți egale și calculând valoarea funcției la punctul mediu al abscisei Dacă se dovedește asa de este rădăcina căutată; altfel între cele două intervale Și se alege cel la extremele căruia funcția își asumă valori de semn opus. Procedura de înjumătățire se repetă pentru acest interval. Continuând astfel obținem o succesiune de intervale încapsulat , adică fiecare inclus în cel precedent. Aceste intervale au ca amplitudini pentru
Valori sunt valori aproximative până la rădăcină, valorile lui în schimb, acestea sunt valorile rădăcinii aproximate de exces. The formează o secvență crescătoare limitată și i formează o secvență descrescătoare limitată. Cele două secvențe admit aceeași limită care este rădăcina ecuației examinate.
Ca o aproximare a rădăcinii considerăm punctul de mijloc al intervalelor, adică pentru
Algoritmul este oprit când este suficient de aproape de și / sau când lățimea intervalului este mai puțin decât o anumită toleranță . Deci, ca o estimare a în cele din urmă vom avea o anumită Se arată cu ușurință că pentru greșeala comisă urmează următoarea relație:
Un corolar important este acela
de aceea convergența metodei este globală .
Dacă avem nevoie obținem următoarea condiție pentru :
Fiind este nevoie de mai mult de trei bisecții în medie pentru a îmbunătăți precizia rădăcinii cu o cifră semnificativă, astfel încât convergența este lentă. Mai mult, reducerea erorii la fiecare pas nu este monotonă, adică nu înseamnă neapărat asta pentru fiecare Prin urmare, nu este posibil să se definească o ordine reală de convergență pentru această metodă.
Algoritm
Pseudocodul acestei metode este furnizat mai jos: [2]
N ← 1 În timp ce N ≤ NMAX # se limitează la iterații pentru a preveni bucle infinite c ← ( a + b ) / 2 # nou punct mediu Dacă f ( c ) = 0 sau ( b - a ) / 2 < TOL atunci # soluție găsită Ieșire ( c ) Stop EndIf N ← N + 1 # creșterea contorului Dacă semn ( f ( c )) = semn ( f ( a )) atunci a ← c altul b ← c # interval nou EndWhile Ieșire („Operațiunea nu a reușit.”) # A depășit numărul maxim de iterații
Exemplu
Puteți utiliza metoda bisecției pentru a găsi rădăcina următorului polinom:
Mai întâi trebuie să identificăm două numere Și astfel încât Și au un semn discordant. Pentru funcția de mai sus, Și îndeplinesc acest criteriu, ca
Și
Deoarece funcția este continuă, ipotezele teoremei Bolzano sunt respectate și trebuie să existe o rădăcină între .
Fiind extremele domeniului pe care l-am considerat Și , punctul de mijloc va fi:
Valoarea funcției la punctul mediu va fi . Fiind negativ, se înlocuiește cu pentru următoarea iterație astfel încât Și au un semn discordant. Odată cu continuarea acestui proces, intervalul dintre Și va deveni drastic din ce în ce mai mic, până când converge în rădăcina căutată. În acest sens, consultați următorul tabel:
Repetare | ||||
---|---|---|---|---|
1 | 1 | 2 | 1.5 | −0,125 |
2 | 1.5 | 2 | 1,75 | 1.6093750 |
3 | 1.5 | 1,75 | 1.625 | 0,6660156 |
4 | 1.5 | 1.625 | 1,5625 | 0,2521973 |
5 | 1.5 | 1,5625 | 1.5312500 | 0,0591125 |
6 | 1.5 | 1.5312500 | 1.5156250 | −0,0340538 |
7 | 1.5156250 | 1.5312500 | 1.5234375 | 0,0122504 |
8 | 1.5156250 | 1.5234375 | 1.5195313 | −0.0109712 |
9 | 1.5195313 | 1.5234375 | 1.5214844 | 0,0006222 |
10 | 1.5195313 | 1.5214844 | 1.5205078 | −0,0051789 |
11 | 1.5205078 | 1.5214844 | 1.5209961 | −0,0022794 |
12 | 1.5209961 | 1.5214844 | 1.5212402 | −0.0008289 |
13 | 1.5212402 | 1.5214844 | 1.5213623 | −0.0001034 |
14 | 1.5213623 | 1.5214844 | 1.5214233 | 0,0002594 |
15 | 1.5213623 | 1.5214233 | 1.5213928 | 0,0000780 |
După treisprezece iterații este evident că convergența are loc la 1.521 ca rădăcină a polinomului.
Notă
Bibliografie
- Burden, Richard L.; Faires, J. Douglas (1985), „2.1 The Bisection Algorithm”, Analiza numerică (ediția a treia), PWS Publishers, ISBN 0-87150-857-5 .
Elemente conexe
- Analiza numerica
- Metode de aproximare pentru rezolvarea ecuațiilor
- Metoda de interpolare liniară
- Metoda de iterație directă
- Teorema Bolzano
Alte proiecte
- Wikiversitatea conține resurse privind metoda bisecării