Teoria ecuațiilor neliniare și metoda semidiviziunii.

Metoda semidiviziunii

Presupunem că separarea rădăcinilor ecuației f(X) = 0 se realizează și pe segmentul [ A, b] există o rădăcină, care trebuie rafinată cu o eroare de ε. Ca o aproximare inițială a rădăcinii, luăm mijlocul acestui segment: c 0= (A+ b) / 2 (Fig. 4):

Orez. 4. Metoda împărțirii pe jumătate.

Apoi examinăm valoarea funcției f(X) la capetele segmentelor [ A, c 0] Și [ c 0, b] . Cel al segmentelor, la capetele cărora f(X) ia valori de diferite semne, conține rădăcina dorită; prin urmare, îl luă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, îl aruncăm. 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 aproximarea 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 să se încheie când este atinsă precizia specificată, de exemplu. când condiția este îndeplinită |x 0 – c k |< ε

Pentru că rădăcina x0 aparține segmentului [ un k, b k], A c k este punctul de mijloc al 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ă la apariția condiției | 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 calculul valorilor funcției f(X) și, prin urmare, poate fi folosit pentru a rezolva orice ecuație.

Cu toate acestea, metoda semidiviziunii este destul de lentă. Cu fiecare pas, eroarea valorii aproximative este redusă la jumătate, adică.

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

Observație. Metoda bisecției 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ă în acest interval există mai multe rădăcini ale ecuației, se va găsi una dintre rădăcini.

metoda acordurilor

Metoda luată în considerare, precum și metoda semidivizării, este concepută pentru a rafina rădăcina pe intervalul [ A, b f(X) ia valori de diferite semne. Următoarea aproximare, spre deosebire de metoda divizării pe jumătate, este luată nu în mijlocul segmentului, ci în punct X, unde o linie dreaptă (coardă) intersectează axa absciselor, trasată prin puncte AȘi ÎN(Fig. 5).

Orez. 5. Metoda acordurilor.

Scriem ecuația unei drepte care trece prin puncte AȘi ÎN:

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

Ca un nou interval pentru continuarea procesului iterativ, alegem unul dintre cele două [ A, x0] Și [ x 0, b], la capetele cărora funcţia f(X) ia valori de diferite semne. Pentru cazul luat în considerare (Fig. 5), alegem segmentul [ A, x0], deoarece
f(a) × f(x0)< 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 absciselor 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< ε

Observație. Metoda acordurilor și metoda bisecției 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 este, de asemenea, concepută pentru 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). Drept urmare, au o convergență mai rapidă, dar, în același timp, sunt aplicabile unei clase mai restrânse de funcții, iar convergența lor nu este întotdeauna garantată.

Separând rădăcinile funcției, trebuie luat în considerare faptul că aplicarea metodei lui Newton necesită ca funcția să fie monotonă și de două ori diferențiabilă, iar derivata a doua f''(x) pe acest interval nu trebuie să schimbe semnul.

Convergența secvenței iterative obținute prin metoda Newton depinde de alegerea aproximării inițiale x0. În general, dacă intervalul [ A, b] care conține o rădăcină și se știe că funcția f(X) este monotonă pe acest interval, apoi ca aproximare inițială x0 puteți alege limita segmentului [ A, b], unde semnele funcției coincid f(X) și derivata a doua f''(x). O astfel de alegere a aproximării inițiale garantează convergența metodei lui Newton cu condiția ca funcția să fie monotonă pe intervalul de localizare a rădăcinii.

Spuneți-ne aproximarea inițială față de rădăcină x0. Desenați 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ăsire numerică a rădăcinii izolate a unei ecuații neliniare

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

Lasă 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 rădăcinilor aproximative, i.e. găsirea unor vecinătăți suficient de mici ale zonei 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 a doua f"(X) Și f ""(X) păstrează un anumit semn pe tot parcursul intervalului.

Condițiile 1) și 2) garantează că pe intervalul [ a, b] există cel puțin o rădăcină și 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 ecuației f(X) = 0 prin metoda iterativă constă din două etape:

1. separarea rădăcinilor- aflarea valorii aproximative a rădăcinii sau a segmentului care o conţine;

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 zona 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) + + + +

Prin urmare, 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) poate fi cunoscută și din sensul fizic al problemei, din rezolvarea unei probleme similare cu date inițiale diferite sau poate fi găsită grafic.



Frecvent în practica inginerească mod grafic 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 axa 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 solutia exacta consta in obtinerea secventiala a unei aproximari ulterioare fata de cea precedenta (anterioare). Fiecare astfel de pas este numit repetare. Aplicarea unei metode sau alteia depinde de aproximarea inițială disponibilă X 0 la rădăcina, existența și netezimea derivatelor de funcție 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 o creștere a numărului de iterații n se apropie de adevărata valoare a rădăcinii, apoi se spune că procesul iterativ converge.

În metodele iterative, este important să alegeți criteriul final de numărare. Dacă funcţia f(X) în regiunea luată în considerare se modifică lent, i.e. derivată în valoare absolută este mai mică decât unitatea, atunci procesul iterativ ar trebui să fie încheiat prin îndeplinirea condiției

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

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

| (X) | ≥ 1, atunci procesul iterativ ar trebui să se termine când condiția

| 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 segmentul [ α , β ]. Se aplică atunci când f(X) este continuă pe [ α , β ] și la capetele acestui segment preia valorile diferitelor 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 acțiunile descrise sunt repetate până când se obține o rădăcină cu o precizie dată 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 bisectării este determinată de formula

k .

Exemplul 1. Utilizați metoda bisecției 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 trei (continuu) și f(0)f(1) < 0.

Calculăm succesiv aproximări 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 pentru valoarea 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). Î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 alegem dintre ele 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 expunere mai riguroasă a algoritmului metodei bisecției:

1) Calculați X = (A+ b)/2; calcula 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) Valoarea de ieșire X;

Exemplul 2.4. Rafinați prin metoda bisecției cu o precizie de 0,01 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) Copiem fiecare formulă în celulele inferioare cu un marcator de umplere până la a zecea linie, adică. B 4 - înainte B 10, C 4 - înainte C 10, D 3 - înainte D 10, E 4 - înainte E 10, F 3 - înainte 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 a fost găsită o valoare aproximativă a rădăcinii cu o anumită eroare. Au fost necesare 5 iterații pentru a obține precizia necesară. Valoarea aproximativă a rădăcinii la 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 ține cont de posibilul caz de „lovire de rădăcină”, adică. egalitate f(X) la 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, scriem în celulă B 3 valoarea 0,9. Apoi tabelul de 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ă creăm în program excela funcții definite de utilizator f(x) și bisect(a, b, eps) pentru a rezolva ecuația prin metoda semidiviziunii 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, mergeți la 5

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

Dacă Abs(a - b) > eps, mergeți la 1

Funcția f(x) definește partea stângă a ecuației și funcția
bisect(a, b, eps) bisectează rădăcina ecuației f(X) = 0. Rețineți că funcția bisect(a, b, eps) folosește un apel la funcția f(x). Iată un algoritm pentru crearea unei funcții definite de utilizator:

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 sau procedurile definite de utilizator nu au fost încă create, această fereastră va arăta ca cea prezentată în Figura 2.4.

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

Acum în celulele foii de program excela puteți folosi 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, modificați descrierea funcției

la 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!).

Rezolvarea ecuației prin metoda împărțirii pe jumătate în program Mathcad creați o subrutină de funcție 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];

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

Rezolvarea exemplului din program Mathcad:

1) Rulați programul Mathcad. Introducem definiția funcției bisec(f, A, b, ε). Pentru a face acest lucru, folosind tastatura și bara de instrumente Simboluri grecești, tastăm bisec(f, A, b, ε):=. După semnul de atribuire „:=" de pe bara de instrumente „Programare”, faceți clic pe butonul din stânga „Adăugați linie” cu cursorul mouse-ului. După semnul de atribuire va apărea o linie verticală. Apoi, introduceți textul programului, care este 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) Introducem definitia functiei f(X):=sin(5*x)+x^2–1, apoi calculați valoarea rădăcinii folosind funcția bisec pentru valori date:
bisec(f, –0,8,–0,7,0,0001)=. După semnul „=", valoarea rădăcină calculată de program va apărea automat -0.7266601563. Calculăm restul rădăcinilor în același mod.

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

Vă prezentăm programul în limbă C++ pentru a rezolva ecuația f(X) = 0 prin metoda bisecției:

#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ția din 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 face pauză pentru a vizualiza rezultatul.

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


metoda lui Newton (metoda tangentei)

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

Notează prin capătul 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 se oprește de obicei 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 deplină, puteți efectua o verificare a preciziei, așa cum este menționat la începutul secțiunii. Dacă acuratețea nu este atinsă, atunci trebuie să repetați iterațiile de câteva ori.

Metoda secantei

Să existe o aproximare inițială . Mai obținem un punct prin formulă
, 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ă (în stadiul inițial, aceasta este Și ). Apoi următoarea aproximare se găsește prin 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ă într-o ecuație echivalentă
. Alegeți o presupunere inițială . Fiecare aproximare următoare se obține prin formula
,
Procesul se oprește după același criteriu ca în metoda lui Newton. Metoda va converge, i.e. limită este egală cu valoarea exactă a rădăcinii dacă inegalitatea
iar aproximarea inițială este suficient de aproape de rădăcină.

Avantajele și dezavantajele metodelor

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

Metoda lui Newton are o convergenta foarte rapida (convergenta patratica), i.e.

,

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

Sunt necesare destul de multe condiții pentru a garanta convergența metodei lui Newton. În general, este posibil să începeți calculele conform metodei lui Newton fără a verifica aceste condiții, dar atunci convergența poate să nu fie observată.

Metoda secantei asigură pentru funcțiile netede o rată de convergență apropiată de cea a metodei lui Newton. Nu necesită calculul derivatei funcției. 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ță mult mai mică decât metoda lui Newton. În prezența convergenței, estimarea
, Unde
- numere,
,
;c este valoarea exactă a rădăcinii. Cantitati M, q depind de funcție și nu depind de numărul de iterație. Dacă
aproape de 1, atunci q este, de asemenea, aproape de 1 și convergența metodei va fi lentă. Puteți începe numărarea iterațiilor fără a verifica condițiile
Și . În acest caz, procesul poate fi divergent, iar apoi răspunsul nu va fi primit.

Există multe metode pentru a găsi rădăcinile 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 ca următoarea aproximare. Bou. În funcția rădăcină în formatul rădăcină( f(X), X, A, b) se folosesc metodele lui Ridder și Brent. Pentru a găsi rădăcinile unui polinom în MATHCAD, se folosește metoda Laguerre.

Metoda semidiviziunii (metoda este cunoscută și ca metoda Bolzano sau metoda dihotomiei) unu a metodelor de rezolvare a ecuaţiilor neliniare şi se bazează pe îngustarea succesivă a intervalului care conţine o singură rădăcină a ecuaţiei . Procesul iterativ se desfășoară până când se atinge precizia specificată.

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 care sunt opuse în semn: . Opusul semnelor valorilor funcției de la capetele segmentului poate fi determinat în mai multe moduri. Una dintre multe dintre aceste moduri 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 a fost determinată cu precizia necesară.

Procedura de rafinare 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 dintre cele două posibile ca următor interval de incertitudine.

Procesul se termină atunci când lungimea intervalului de incertitudine curent devine mai mică decât valoarea specificată, ceea ce 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 înjumătățită:

Din această relație, putem estima numărul de iterații k pentru a obține precizia specificată:

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 ar trebui să includă și faptul că vă permite să găsiți o rădăcină simplă a ecuației oricăror funcții continue pentru orice valoare, astfel încât .

Dezavantajele metodei sunt că nu poate fi generalizată 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 de iterație inițială () .

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

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

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

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

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

2023 "kingad.ru" - examinarea cu ultrasunete a organelor umane