Teoria ecuațiilor neliniare și metoda bisecției.

Metoda semidiviziunii

Credem că separând rădăcinile ecuației f(X) = 0 se efectuează și pe intervalul [ A, b] există o rădăcină care trebuie rafinată cu o eroare de ε. Luăm mijlocul acestui segment ca aproximare inițială a rădăcinii: c 0= (A+ b) / 2 (Fig. 4):

Orez. 4. Metoda semidiviziunii.

Apoi examinăm valoarea funcției f(X) la capetele segmentelor [ A, c 0] Și [ c 0, b] . Acela dintre segmentele la capete ale căruia f(X) ia semnificația diferitelor semne, conține rădăcina dorită; prin urmare îl acceptăm ca pe un nou segment [ a 1, b 1] (în Fig. 4 acesta este segmentul [ A, c 0]). A doua jumătate a segmentului [ A, b], pe care f(X) nu schimbă semnul, aruncați. Ca următoarea aproximare a rădăcinii luăm mijlocul noului segment
c 1= (a 1+ b 1) / 2 etc. Prin urmare, k-a aproximare se calculează ca

După fiecare iterație, segmentul pe care se află rădăcina este înjumătățit și după k iterații în 2 k o singura data:

Procesul iterativ ar trebui oprit atunci când este atinsă precizia specificată, adică când condiția este îndeplinită |x 0 – c k |< ε

De la rădăcină x 0 aparține segmentului [ un k, b k], A c k este mijlocul acestui segment, apoi valoarea |x 0 – c k | va fi întotdeauna mai mică de jumătate din lungimea de la tăiere [ un k, b k] (vezi Fig. 4):

Prin urmare, condiția |x 0 – c k |< ε va fi executat dacă

| b k – a k |< 2ε

Astfel, procesul iterativ trebuie continuat până când condiția este îndeplinită | b k – a k |< 2ε .

Spre deosebire de majoritatea celorlalte metode de rafinare, metoda bisecției converge întotdeauna, adică are convergență necondiționată. În plus, este extrem de simplu, deoarece necesită doar calcularea valorilor funcției f(X) și, prin urmare, poate fi folosit pentru a rezolva orice ecuație.

Cu toate acestea, metoda de înjumătățire este destul de lentă. Cu fiecare pas, eroarea valorii aproximative scade la jumătate, adică.

Prin urmare, această metodă este o metodă cu convergență liniară.

Notă. Metoda semidiviziunii nu necesită cunoașterea informațiilor suplimentare despre funcție pe întreg intervalul [ A, b]. De exemplu, funcția nu trebuie să fie diferențiabilă. Chiar și pentru funcțiile discontinue, metoda luată în considerare are convergența garantată. Dacă există mai multe rădăcini ale ecuației în acest interval, una dintre rădăcini va fi găsită cu siguranță.

Metoda acordurilor

Metoda luată în considerare, la fel ca metoda jumătăților, are scopul de a clarifica rădăcina pe intervalul [ A, b f(X) ia valori de diferite semne. Spre deosebire de metoda jumătăților, luăm următoarea aproximare nu în mijlocul segmentului, ci în punctul X, unde o linie dreaptă (coardă) trasată prin puncte intersectează axa x AȘi ÎN(Fig. 5).

Orez. 5. Metoda acordurilor.

Să notăm ecuația dreptei care trece prin puncte AȘi ÎN:

Pentru punctul de intersecție al dreptei cu axa absciselor ( X= x 0, y= 0) obținem ecuația

Ca un nou interval pentru continuarea procesului iterativ, selectăm unul dintre cele două [ A, x 0] Și [ x 0, b], la capetele cărora funcţia f(X) ia valori de diferite semne. Pentru cazul luat în considerare (Fig. 5), selectăm segmentul [ A, x 0], deoarece
f(a) × f(x 0)< 0 . Următoarea iterație este de a defini o nouă aproximare x 1 ca puncte de intersecție ale unei coarde AB 1 cu axa x etc.

Terminăm procesul de rafinare a rădăcinii când distanța dintre aproximările succesive devine mai mică decât precizia specificată, adică.

x k +1 – x k< ε

Notă. Metoda acordurilor și metoda semidiviziunii sunt foarte asemănătoare. Mai mult, al doilea dintre ele în unele cazuri oferă o convergență mai rapidă a procesului iterativ. Ambele metode nu necesită cunoașterea informațiilor suplimentare despre funcție pe întreg intervalul [ A, b]. De exemplu, funcția nu trebuie să fie diferențiabilă. Chiar și pentru funcțiile discontinue, metodele luate în considerare au convergența garantată.

metoda lui Newton (metoda tangentei)

Metoda lui Newton are, de asemenea, scopul de a rafina rădăcina pe intervalul [ A, b], la capetele cărora funcţia f(X) ia valori de diferite semne. Dar această metodă folosește informații suplimentare despre funcție f(X). Ca urmare, are o convergență mai rapidă, dar, în același timp, este aplicabilă unei clase mai restrânse de funcții, iar convergența sa nu este întotdeauna garantată.

La separarea rădăcinilor unei funcții, trebuie avut în vedere faptul că aplicarea metodei lui Newton necesită ca funcția să fie monotonă și de două ori diferențiabilă, cu derivata a doua. f''(x) nu ar trebui să schimbe semnul în acest interval.

Convergența secvenței de iterație obținută în metoda lui Newton depinde de alegerea aproximării inițiale x 0. În general, dacă intervalul [ A, b] care conține rădăcina și se știe că funcția f(X) este monotonă pe acest interval, apoi ca aproximare inițială x 0 puteți selecta acea limită a segmentului [ A, b], unde semnele funcției coincid f(X) și derivata a doua f''(x). Această alegere a aproximării inițiale garantează convergența metodei lui Newton, cu condiția ca funcția să fie monotonă pe segmentul de localizare a rădăcinii.

Spuneți-ne aproximarea inițială față de rădăcină x 0. Să desenăm o tangentă la curbă în acest punct y= f(X) (Fig. 6). Această tangentă va intersecta axa x într-un punct pe care îl vom considera ca următoarea aproximare.

Lucrări de laborator

Găsirea numerică a unei rădăcini izolate a unei ecuații neliniare

Rezolvarea ecuațiilor – algebrice sau transcendentale – este una dintre problemele esențiale ale analizei aplicate, nevoia căreia apare în numeroase și diverse secțiuni ale fizicii, mecanicii, tehnologiei și altor domenii.

Să fie dată ecuația

f (X) = 0. (1)

Orice număr X*, inversând funcția f(X) la zero, adică unul în care f(X*) = 0, se numește rădăcina ecuației (1) sau zero al funcției f(X).

Problema găsirii numerice a rădăcinilor reale ale ecuației (1) constă de obicei în găsirea aproximativă a rădăcinilor, i.e. găsirea unor vecinătăți suficient de mici ale regiunii luate în considerare, care conține o valoare a rădăcinii și, în continuare, calcularea rădăcinilor cu un anumit grad de precizie.

  1. Funcţie f(X) este continuă pe intervalul [ a, b] împreună cu derivatele sale de ordinul 1 și 2;
  2. Valori f(X) la capetele segmentului au semne diferite ( f(A) * f(b) < 0).

3. Derivatele întâi și secundare f"(X) Și f ""(X) păstrează un anumit semn pe tot segmentul.

Condițiile 1) și 2) garantează că pe intervalul [ a, b] există cel puțin o rădăcină, iar din 3) rezultă că f(X) este monotonă pe acest interval și, prin urmare, rădăcina va fi unică.

Problema găsirii rădăcinii unei ecuații f(X) = 0 prin metoda iterativă constă din două etape:

1. separarea rădăcinilor- gasirea unei valori aproximative a radacinii sau a unui segment care o contine;

2. rafinarea rădăcinilor aproximative- aducerea acestora la un anumit grad de precizie.

Procesul de separare a rădăcinilor începe cu stabilirea semnelor funcției f(X) în hotar X=AȘi X=b puncte din regiunea existenței sale.

Exemplul 1 . Separați rădăcinile ecuației:

X 3 – 6X + 2 = 0 (2)

Să facem o diagramă aproximativă:

X - ∞ - 3 - 1 + ∞
f(X) + + + +

În consecință, ecuația (2) are trei rădăcini reale situate în intervalele [-3, -1] și .

Valorile aproximative ale rădăcinilor ( aproximări inițiale) pot fi cunoscute și din sensul fizic al problemei, din rezolvarea unei probleme similare cu date inițiale diferite sau pot fi găsite grafic.



Frecvent în practica inginerească metoda grafica determinarea aproximativă a rădăcinilor.

Ținând cont de faptul că rădăcinile reale ale ecuației (1) sunt punctele de intersecție ale graficului funcției f(X) cu axa x, este suficient să grafici funcția f(X) și marcați punctele de intersecție f(X)cu ax Oh, sau marca pe axă Oh segmente care conțin o rădăcină.

Fie izolată rădăcina ecuației (1) pe intervalul [ A, b]. Proces iterativ de rafinare a aproximării inițiale X 0 la o soluţie exactă constă în obţinerea secvenţială a unei aproximări ulterioare de la precedentul(e). Fiecare astfel de pas este numit repetare. Utilizarea unei anumite metode depinde de aproximarea inițială disponibilă X 0 la rădăcina, existența și netezimea derivatelor funcției f(X). Ca rezultat al iterațiilor, se găsește o secvență de valori aproximative ale rădăcinii X 1 , X 2 , ..., x n. Dacă aceste valori cu un număr tot mai mare de iterații n se apropie de adevărata valoare a rădăcinii, atunci spunem că procesul iterativ converge.

În metodele iterative, este important să alegeți criteriul de sfârșit de numărare. Dacă funcţia f(X) în regiunea luată în considerare se modifică lent, i.e. derivata în valoare absolută este mai mică decât unitatea, atunci procesul iterativ ar trebui să fie finalizat când condiția este îndeplinită

| x k +1 – X k |< ε ,

Unde X k, x k+1 – abordări succesive la rădăcină, ε > 0 – precizia specificată a sfârșitului procesului iterativ. Dacă funcția se schimbă rapid, de ex.

| (X) | ≥ 1, atunci procesul iterativ ar trebui finalizat când condiția este îndeplinită

| f(x k) | < ε .

Metoda semidiviziunii

Această metodă este una dintre cele mai simple metode iterative pentru calcularea rădăcinii reale a ecuației (1) pe intervalul [ α , β ]. Se foloseste cand f(X) este continuă pe [ α , β ] iar la capetele acestui segment ia valori de diferite semne, i.e.

f(α )f(β ) < 0.

Schema de calcul a metodei. Segment de linie [ α , β ] se împarte în jumătate și dacă f≠ 0, apoi alegeți una dintre jumătăți , , la capetele cărora funcţia f(X) ia valori de diferite semne (rădăcina este în ea). Segmentul rezultat este din nou împărțit în jumătate și pașii descriși sunt repeți până când rădăcina este obținută cu precizia specificată a procesului iterativ. Procesul se încheie atunci când condiția este îndeplinită

| x k +1 – X k |< ε .

Numărul de iterații kîn metoda semidiviziunii este determinată de formula

k .

Exemplul 1. Folosiți metoda semidiviziunii pentru a calcula rădăcina ecuației

X 3 + 3X 2 – 1 = 0 (2)

cu o precizie de 0,01 pe segment.

Verificăm condițiile de aplicabilitate a metodei. Funcţie f(X) este un polinom de gradul III (continuu) și f(0)f(1) < 0.

Calculăm secvențial aproximările la rădăcină și le verificăm pentru acuratețe:

X 0 = 0 f(0)= 1 [ –, + ]
X 1 = 1 |0 – 1| > 0,01 f(1)=3
X 2 = 0,5 |1 – 0,5|> 0,01 f(0,5)= 0,125
X 3 = 0,75 |0,5 – 0,75|> 0,01 f(0,75)≈1,109
X 4 = 0,625 |0,5 – 0,625|> 0,01 f(0,625)≈0,416
X 5 = 0,5625 |0,5 – 0,5625|> 0,01 f(0,5625)≈0,127
X 6 = 0,53125 |0,5 – 0,53125|> 0,01 f(0,53125)≈ 0,0034
X 7 = 0,546875 |0,53125 – 0,546875|> 0,01 f(0, 546875)≈0,0608
X 8 = 0,5390625 |0,53125 – 0,5390625|≤ 0,01 f(0, 5390625)≈0,0284

Să luăm ca valoare rafinată a rădăcinii valoarea


Metoda semidiviziunii(alte nume: metoda bisectiei, metoda dihotomiei) pentru a rezolva ecuația f(X) = 0 este după cum urmează. Să se știe că funcția este continuă și ia capetele segmentului
[A, b] valori ale diferitelor semne, atunci rădăcina este conținută în interval ( A, b). Să împărțim intervalul în două jumătăți și apoi vom lua în considerare jumătatea la capetele căreia funcția ia valori de diferite semne. Împărțim din nou acest nou segment în două părți egale și o selectăm pe cea care conține rădăcina. Acest proces continuă până când lungimea următorului segment devine mai mică decât valoarea de eroare necesară. O prezentare mai riguroasă a algoritmului pentru metoda bisecției:

1) Să calculăm X = (A+ b)/2; hai sa calculam f(X);

2) Dacă f(X) = 0, apoi treceți la pasul 5;

3) Dacă f(X)∙f(A) < 0, то b = X, in caz contrar A = X;

4) Dacă | bA| > ε, mergeți la punctul 1;

5) Ieșiți valoarea X;

Exemplul 2.4. Folosind metoda bisecției, rafinați rădăcina ecuației ( X– 1) 3 = 0, aparținând segmentului .

Soluție în program excela:

1) În celule A 1:F 4 introducem notația, valorile inițiale și formulele, așa cum se arată în tabelul 2.3.

2) Copiați fiecare formulă în celulele inferioare cu un marcator de umplere până la a zecea linie, adică. B 4 - până la B 10, C 4 - până la C 10, D 3 - până la D 10, E 4 - până la E 10, F 3 - până la F 10.

Tabelul 2.3

A B C D E F
f(a)= =(1-B3)^3
k A X f(x) b b-a
0,95 =(B3+E3)/2 =(1-C3)^3 1,1 =E3-B3
=DACA(D3=0,C3; DACA(C$1*D3<0;B3;C3)) =IF(C$1*D3>0; E3;C3)

Rezultatele calculului sunt prezentate în tabel. 2.4. În coloană F verificarea valorilor lungimii intervalului bA. Dacă valoarea este mai mică de 0,01, atunci în această linie se găsește o valoare aproximativă a rădăcinii cu o eroare specificată. Au fost necesare 5 iterații pentru a obține precizia necesară. Valoarea aproximativă a rădăcinii cu o precizie de 0,01 după rotunjirea la trei zecimale este 1,0015625 ≈ 1,00.

Tabelul 2.4

A B C D E F
f(a)= 0,000125
k A X f(x) b b-a
0,95 1,025 -2E-05 1,1 0,15
0,95 0,9875 2E-06 1,025 0,075
0,9875 1,00625 -2E-07 1,025 0,0375
0,9875 0,996875 3.1E-08 1,00625 0,0187
0,996875 1,0015625 -4E-09 1,00625 0,0094
0,996875 0,9992188 4.8E-10 1,0015625 0,0047
0,99921875 1,0003906 -6E-11 1,0015625 0,0023
0,99921875 0,9998047 7.5E-12 1,000390625 0,0012

Algoritmul de mai sus ia în considerare cazul posibil de „lovire de rădăcină”, adică. egalitate f(X) zero în etapa următoare. Dacă în exemplul 2.3 luăm segmentul , atunci la primul pas ajungem la rădăcină X= 1. Într-adevăr, să scriem în celulă B 3 valoarea 0,9. Apoi tabelul cu rezultate va lua forma 2.5 (sunt date doar 2 iterații).

Tabelul 2.5

A B C D E F
f(a)= 0,001
k A X f(x) b b-a
0,9 1,1 0,2

Să-l creăm în program excela funcții personalizate f(x) și bisect(a, b, eps) pentru rezolvarea ecuațiilor folosind metoda bisectului folosind limbajul încorporat Visual Basic. Descrierile lor sunt prezentate mai jos:

Funcția f(Byval x)

Funcția bisect (a, b, eps)

1 x = (a + b) / 2

Dacă f(x) = 0, atunci Treci la 5

Dacă f(x) * f(a)< 0 Then

Dacă Abs(a - b) > eps, atunci GoTo 1

Funcția f(x) determină partea stângă a ecuației și funcția
bisect(a, b, eps) calculează rădăcina ecuației folosind metoda bisectului f(X) = 0. Rețineți că funcția bisect(a, b, eps) folosește un acces la funcția f(x). Iată algoritmul pentru crearea unei funcții personalizate:

1) Executați comanda de meniu „Instrumente - Macro - Editor Visual Basic" Fereastra " Microsoft Visual Basic" Dacă în acest fișier de program excela macro-urile sau funcțiile utilizatorului sau procedurile nu au fost încă create, această fereastră va arăta ca cea prezentată în Fig. 2.4.

2) Executați comanda de meniu „Insert - Module” și introduceți textele funcțiilor programului, așa cum se arată în Fig. 2.5.

Acum în celulele foii de program excela Puteți utiliza funcțiile create în formule. De exemplu, să intrăm într-o celulă D formula 18

Bisect (0,95;1;0,00001),

apoi obținem valoarea 0,999993896.

Pentru a rezolva o altă ecuație (cu o altă parte stângă), trebuie să mergeți la fereastra editorului folosind comanda „Instrumente - Macro - Editor Visual Basic” și pur și simplu rescrieți descrierea funcției f(x). De exemplu, să găsim, cu o precizie de 0,001, rădăcina ecuației sin5 x + x 2 – 1 = 0, aparținând intervalului (0,4; 0,5). Pentru a face acest lucru, să schimbăm descrierea funcției

pentru o nouă descriere

f = Sin(5 * x) + x^2 - 1

Apoi în celulă D 18 obținem valoarea 0,441009521 (comparați acest rezultat cu valoarea rădăcinii intervalului (0,4; 0,5) găsită în exemplul 2.3!).

Pentru a rezolva o ecuație folosind metoda diviziunii pe jumătate din program Mathcad să creăm o funcție de subrutină bisec(f, A, b, ε), unde:

f- numele funcției care corespunde părții stângi a ecuației f(X) = 0;

A, b- capetele din stânga și din dreapta ale segmentului [ A, b];

ε - acuratețea valorii aproximative a rădăcinii.

Rezolvarea exemplului din program Mathcad:

1) Lansați programul Mathcad. Să introducem definiția funcției bisec(f, A, b, ε). Pentru a face acest lucru, folosind tastatura și bara de instrumente „Simboluri grecești”, tastați bisec(f, A, b, ε):=. După semnul de atribuire „:=" de pe bara de instrumente „Programare”, folosiți indicatorul mouse-ului pentru a face clic stânga pe „Adăugați linie”. După semnul de atribuire va apărea o linie verticală. Apoi, introduceți textul programului afișat mai jos, folosind bara de instrumente „Programare” pentru a introduce semnul „←”, operatorul buclei in timp ce, operator pauzăși operator condiționat dacă altfel.

2) Să introducem definiția funcției f(X):=sin(5*x)+x^2–1, apoi calculați valoarea rădăcinii folosind funcția bisec la valori date:
bisec(f, –0,8,–0,7,0,0001)=. După semnul „=”, va apărea automat valoarea rădăcină calculată de program –0.7266601563. Să calculăm rădăcinile rămase în același mod.

Mai jos este foaia Mathcad cu definirea funcției bisec(f, A, b, ε) și calcule:

Să dăm un program în limbă C++ pentru a rezolva ecuația f(X) = 0 prin metoda de înjumătățire:

#include

#include

dublu f(dublu x);

typedef dublu (*PF)(dublu);

dublu bisec (PF f, dublu a, dublu b, dublu eps);

dublu a, b, x, eps;PF pf;

cout<< "\n a = "; cin >>a;

cout<< "\n b = "; cin >>b;

cout<< "\n eps = "; cin >> eps;

x = bisec(pf,a,b,eps); cout<< "\n x = " << x;

cout<< "\n Press any key & Enter "; cin >>a;

dublu f(dublu x)(

r = sin(5*x)+x*x-1;

dublu bisec(PF f, dublu a, dublu b, dublu eps)(

do( x = (a + b)/2;

dacă (f(x) == 0) rupere;

dacă (f(x)*f(a)<0) b = x;

)while (fabs(b-a) > eps);

Funcție în program f(X) este definită pentru a rezolva ecuația

păcat5 x + x 2 – 1 = 0

din exemplul 2.3. Rezultatul programului pentru determinarea rădăcinii intervalului (0,4; 0,5) cu o precizie de 0,00001 este prezentat mai jos (ecranul computerului):

Apăsați orice tastă și Enter

Ultima linie este necesară pentru a organiza o pauză pentru a vizualiza rezultatul.

Lăsa f(X) – funcție continuă pe [ A; b], .


metoda lui Newton (metoda tangentei)

Lăsa f(X) este o funcție de două ori diferențiabilă continuu pe intervalul [ A; b],
,
Și
nu schimbați semnul în [ A; b].

Să notăm prin acel capăt al segmentului unde semnele
Și
se potrivesc. Aproximări succesive la rădăcina exactă c găsi prin formulă

Pentru
.

Apoi
este rădăcina exactă a ecuației (1).

Procesul de calcul este de obicei oprit când
se dovedește a fi mai mică decât precizia specificată ε . Cu toate acestea, această condiție nu poate garanta strict atingerea preciziei specificate. Pentru o asigurare completă, puteți efectua o verificare a preciziei așa cum este menționat la începutul acestei secțiuni. Dacă nu se obține precizia, atunci trebuie să repetați iterațiile de mai multe ori.

Metoda secantei

Să existe o aproximare inițială . Mai obținem un punct folosind formula
, Unde h– un număr mic. Vom presupune că am parcurs mai mulți pași ai metodei, iar în acest moment avem două aproximări succesive Și
la rădăcina exactă (la etapa inițială aceasta este Și ). Apoi găsim următoarea aproximare folosind formula

,

Procesul se oprește după același criteriu ca în metoda lui Newton.

Metoda iterației

În metoda iterației, ecuația inițială (1) este transformată în ecuația echivalentă
. Este selectată aproximarea inițială . Fiecare aproximare ulterioară se obține prin formula
,
Procesul se oprește după același criteriu ca în metoda lui Newton. Metoda va converge, i.e. limită egală cu valoarea exactă a rădăcinii dacă inegalitatea este valabilă în vecinătatea rădăcinii
iar aproximarea inițială este destul de aproape de rădăcină.

Avantajele și dezavantajele metodelor

Metoda bisecției necesită separarea rădăcinii, iar funcția trebuie evaluată de mai multe ori pentru a obține o precizie ridicată. Obținerea preciziei specificate în această metodă este garantată.

Metoda lui Newton are o convergență foarte rapidă (convergență pătratică), adică.

,

Unde c– valoarea exactă a rădăcinii; M– unele constante în funcție de funcție. În linii mari, pornind de la o anumită iterație, numărul de zecimale corecte se va dubla la fiecare iterație.

Pentru a garanta convergența metodei lui Newton, trebuie îndeplinite destul de multe condiții. În general, puteți începe calculele folosind metoda lui Newton fără a verifica aceste condiții, dar este posibil ca convergența să nu fie observată.

Metoda secantei asigură pentru funcțiile netede o rată de convergență apropiată de rata de convergență a metodei lui Newton. Nu necesită calcularea derivatei unei funcții. Dacă punctul de plecare este luat departe de rădăcină, atunci este posibil să nu existe convergență.

Metoda iterației oferă o rată de convergență semnificativ mai mică decât metoda lui Newton. Dacă există convergență, se aplică estimarea
, Unde
– numere,
,
;c– valoarea exactă a rădăcinii. Cantitati M, q depind de funcție și nu depind de numărul de iterație. Dacă
este aproape de 1, atunci q este, de asemenea, aproape de 1 și convergența metodei va fi lentă. Calculul folosind metoda iterației poate fi pornit fără a verifica condițiile
Și . În acest caz, procesul poate deveni divergent, iar apoi răspunsul nu va fi primit.

Există multe metode pentru găsirea rădăcinilor unei ecuații neliniare, altele decât cele enumerate. În MATHCAD, funcția rădăcină este în format
folosește metoda secantei, iar dacă nu duce la rezultatele dorite, atunci metoda Muller. În cea din urmă, spre deosebire de metoda secantei, la fiecare pas se iau două puncte suplimentare, graficul funcției este înlocuit cu o parabolă care trece prin trei puncte, iar punctul de intersecție al parabolei cu axa este luat drept următoarea aproximare Bou. În funcția rădăcină în formatul rădăcină( f(X), X, A, b) Se folosesc metodele Ridder și Brent. Pentru a găsi rădăcinile unui polinom în MATHCAD, se folosește metoda Laguerre.

Metoda semidiviziunii (metodă cunoscută și sub denumirea de metoda Bolzano sau metoda dihotomiei) unu din metode de rezolvare a ecuațiilor neliniare și se bazează pe îngustarea secvențială a intervalului care conține singura rădăcină a ecuației. Procesul iterativ se efectuează până la atingerea preciziei specificate.

Fie dată o ecuație și definit un segment astfel încât acest segment să conțină o singură rădăcină a ecuației. Apoi, la capetele segmentului dat, funcția are valori opuse în semn: . Semnele opuse ale valorilor funcției de la capetele unui segment pot fi determinate în multe moduri. Una dintre multe dintre aceste metode este de a înmulți valorile funcției la capetele segmentului și de a determina semnul produsului comparând rezultatul înmulțirii cu zero:

.

Segmentul se numește interval inițial de incertitudine deoarece se știe că rădăcina îi aparține, dar locația sa nu este determinată cu precizia necesară.

Procedura de clarificare a poziției rădăcinii constă în construirea unei secvențe de segmente imbricate unul în celălalt, fiecare dintre acestea conținând rădăcina ecuației. Pentru a face acest lucru, se găsește mijlocul intervalului de incertitudine curent , , iar cel la capetele căruia funcția are semne diferite este selectat ca următorul interval de incertitudine dintre două posibile.

Procesul se termină atunci când lungimea intervalului de incertitudine curent devine mai mică decât o valoare specificată care specifică acuratețea găsirii rădăcinii. Mijlocul ultimului interval de incertitudine este luat ca valoare aproximativă a rădăcinii.

Metoda are convergență liniară, dar necondiționată, iar eroarea sa pentru fiecare iterație este redusă la jumătate:

Din această relație putem estima numărul de iterații k pentru a obține o precizie dată:

Din formula rezultată putem concluziona că pentru a obține acuratețe din lungimea decalajului inițial, este necesar să se efectueze aproximativ zece iterații.

Avantajele metodei includ, de asemenea, faptul că vă permite să găsiți rădăcina simplă a ecuației oricăror funcții continue pentru orice valoare, astfel încât .

Dezavantajele metodei sunt că nu se generalizează la sisteme de ecuații neliniare și nu poate fi folosită pentru a găsi rădăcini de multiplicitate pară.

Algoritm pentru găsirea rădăcinii unei ecuații neliniare folosind metoda bisecției.

1. Găsiți intervalul inițial de incertitudine utilizând una dintre metodele de separare a rădăcinilor.Setați eroarea de calcul (număr pozitiv mic ) și pasul inițial de iterație () .

2. Găsiți mijlocul intervalului de incertitudine curent:

3. Este necesar să găsiți valoarea funcției în punctele , și . În continuare, trebuie să verificați două condiții:

Dacă condiția este îndeplinită , atunci rădăcina dorită este situată în interiorul segmentului stâng pus, ;

Dacă condiția este îndeplinită , atunci rădăcina dorită este situată în interiorul segmentului drept accept , .

Ca urmare, se găsește un nou interval de incertitudine, pe care se află rădăcina dorită a ecuației:

4. Verificăm noul segment pentru precizia specificată, în cazul:

Dacă lungimea noului segment este mai mică decât precizia specificată, atunci procesul iterativ se încheie. Valoarea aproximativă a rădăcinii este determinată de formula:

Dacă lungimea noului segment nu atinge precizia necesară, atunci este necesar să continuați procesul iterativ și să treceți la pasul 2 al algoritmului luat în considerare.

CATEGORII

ARTICOLE POPULARE

2024 „kingad.ru” - examinarea cu ultrasunete a organelor umane