Documente Academic
Documente Profesional
Documente Cultură
ro/~ccosmin)
ECUATII NELINIARE PE R
1. CONSIDERATII GENERALE Se vor studia urmatoarele probleme: 1. Radacinile unei ecuatii neliniare de forma f(x)=0 2. Radacinile unei ecuatii neliniare de forma x=g(x) Notatie: O radacina se va nota cu , f ( ) = 0 2. METODA DE REZOLVARE Radacinile se vor gasi printr-un proces iterativ: se construieste un sir x0, x1, ..., xn convergent spre radacina cautata ( x n ). Termenii acetui sir reprezinta aproximatii ale radacinii si se vor numi iterate. Metoda cere una sau mai multe aproximatii initiale ale radacinii, aceste aproximatii se vor presupune cunoscute. Aceste aproximatii se gasesc prin metode algebrice. De exemplu stabilind intervale care contin radacinile, prin inspectarea graficului functiei f.
Analiza metodei trebuie sa dea raspuns la urmatoarele probleme: 1. Daca procesul iterativ este convergent. 2. Daca iteratia converge, care este rapiditatea convergentei. 3. Care este eroarea radacinii calculate. 4. Aprecierea eficientei metodei. Detalieri: Problemele (1) si (2): In majoritatea metodelor convergenta este asigurata daca aproximatia initiala este suficient de apropiata de radacina, in putine cazuri iteratia converge independent de aproximatia initiala.
(3) Presupunind ca iteratia converge, eroarea radacinii depinde numai de precizia utilizata in calcule (numarul de cifre din reprezentaeea numerelor). Altfel spus precizia radacinii este determinata de eroarea de rotunjire dintr-un singur pas al iteratiei. (4) Eficienta se masoara in numarul de calcule (pasi) necesare pentru a obtine radacina cu o precizie data si anume: Pentru metodele care converg independent de aproximatia initiala, eficienta este data de rapiditatea convergentei. Pentru metodele care depind de aproximatia initiala, daca nu se cunoaste o aproximatie buna a radacinii se aplica un procedeu care converge independent de aproximatia initiala determinind astfel o aproximatie initiala, dupa care se trece la o metoda rapid convergenta.
2.2 Ordin de convergenta Definitia 1: Fie sirul de iterate ( x n )n 0 si presupunem ca sirul este convergent spre numarul ,
x n . Daca exsista un numar real p, p R , p 1 si exista un numar c pozitiv
(1)
atunci se zice ca sirul ( x n )n 0 converge catre , cu ordinul p. Constanta c se numeste rata convergentei. In general ordinul p si rata c sunt indicatori de viteza a convergentei sirului ( x n )n 0 spre radacina . Observatie: Pentru p=1,2,3 convergenta se zice liniara, patratica si cubica respectiv.
Teorema: Cazul p=1. Convergenta liniara Daca c, 0 < c < 1 astfel incit n 0
x n+1 c x n
(2)
(3)
x n c x n 1 x n+1 c x n
(4)
Cum 0 < c < 1 rezulta ca c n 0 si prin urmare x n +1 0 sau x n . Observatii: Pentru convergenta conditia suficienta (2) trebuie sa aiba loc cu c<1 strict. Aceasta nu este necesar pentru p>1. Daca c<1 sirul converge independent de x 0 , deci independent de x0. Aceasta nu are loc pentru p>1.
3. RADACINILE UNEI ECUATII NELINIARE DE FORMA f(x)=0 Pentru metodele numerice ce urmeaza vom presupune ca este radacina simpla. Cazul radacinilor multiple se vor trata ulterior.
3.1 Metoda bisectiei Ipoteze Presupune ca functia f este continua pe intervalul compact [a, b] si luind valori de semne opuse la capetele intervalului:
f (a ) f (b ) < 0
(5)
In aceste conditii rezulta ca ecuatia f(x)=0 are cel putin o radacina in (a,b). Vom presupune in continuare ca exista o singura radacina in interiorul acestui interval
(a , b ) .
Metoda Metoda consta in injumatatirea succesiva a intervalului si considerarea la fiecare pas a sub-intervalului in care conditia (5) este indeplinita.
y=f(x) f(b)
f(a)
(b-a)/2
Fig.1. Metoda bisectiei Sub-intervalul, in care se afla radacina, este luat ca interval "[a,b]" si procesul continua obtinind intervale de lungime din ce in ce mai mica, care contin radacina. Procesul se opreste cind lungimea intervalului este mai mica decit o toleranta data. Uzual se prescrie si un n umar limita de iteratii. Algoritmul metodei
f-numele functiei a,b capetele intervalului -toleranta de calcul lnit-numarul limita e iteratii(itrare)/numarul efectiv de iteratii (iesire). rad-radacina calculata kod-cod incheiere a iteratiei 1. 2. 3. 4. 5. Initializeaza contorul de iteratii: iter=0 Incrementeaza contorul: iter=iter+1 Defineste c=(a+b)/2 Testeaza numarul de iteratii: daca iter>lnit, atunci pune rad=c, lnit=iter, kod=1 si IESIRE. Daca b-c atunci: Pune rad=c, lnit=iter, IESIRE. ALTFEL Daca sign(f(b)f(c)(<0 atunci: pune a=c ALTFEL b=c GOTO 2
6.
y=f(x) f(b)
-c1
a c1 c3 c2 f(a) (b-a)/2 b
(6)
rezulta:
ba 2 ba c2 2 2 ...
c1
(7)
n
cn
b a 1 = (b a ) 2n 2
Rezulta ca c n 0 sau ca c n cind n . Observatie: In conformitate cu definitia 1, zicem ca bisectia converge liniar cu rata 1/2. Din relatia (7) se poate deduce numarul de iteratii sufucient pentru a avea o eroare absoluta mai mica decit o toleranta de calcul data ().
ba b a n log 2 n 2
(8)
Avantaj: Eroarea descreste monoton cu fiecare pas. Dezavantaj: Convergenta este inceata.
Ipoteze: Aceleasi ca si in metoda bisectiei. Metoda Se ia ca aproximatie a radacinii, intersectia cu axa x a dreptei care uneste punctele (a,f(a)), (b,f(b)). Se considera intervalul in care f ia valori de semne opuse si se continua procedeul.
y=f(x) f(b)
c1
c2
f(a)
(9)
(10)
Convergenta: Metoda construieste siul c1,c2,..., cn,... (Fig.3). Se arata ca: Metoda converge liniar, in ipoteza ca exista derivatele f' si f'' continue pe [a,b]. Rata convergentei depinde atit de f cit si de alegerea intervalului [a,b].
Dezavantaje: Sirul ci se apropie de dintr-o singura parte (a sau b ramin aceleasi la fiecare pas). Testul de eroare poate fi inadecvat: eroarea c se inlocuieste cu c i +1 ci , care poate fi mult mai mare sau mult mai mic decit eroarea.
3.3 Metoda secantei Ipoteze Se cunosc doua aproximatii initiale ale radacinii, x0 si x1. Ele pot incadra radacina, sau pot fi de aceeasi parte a radacinii.
Metoda Graficul lui f se inlocuieste cu o linie dreapta si anume secanta prin punctele (x0, f(x0)) si (x1, f(x1)). Intersectia secantei cu axa x va fi punctul x2. La pasul urmator se continua procesul, luind ca aproximatii x1 si x2. Observatie: In ipoteza ca x0 si x1 incadreaza radacina, daca s-ar lua ca aproximatii x0 si x1 s-ar obtine regula FALSI.
y=f(x) f(x1)
x0
x2
x3
x1
f(x0)
Formula metodei Printr-un calcul analog cu cel de la regula FALSI cu a=x0, b=x1 si c=x2 se obtine:
x 2 = x1 f ( x1 ) x1 x 0 f ( x1 ) f ( x 0 )
(11)
sau in general:
x n +1 = x n f ( x n ) x n x n 1 , n 1, x 0 , x1 date f ( x n ) f ( x n 1 )
(12)
Convergenta Metoda construieste sirul de iterate x0, x1, x2,...,xn-1,xn,xn+1,...(Fig.4). Teorema Daca: 1. Functia f este continua si exista derivatele de ordinul 1 si 2 (f', f'') continue pe o vecinatate a lui , 2.
f ' ( ) 0
3. x0 si x1 sunt suficient de apropiate de , Atunci (a) Sirul x n (b) Ordinul de convergenta este p = Demosntratie: Demonstratia se bazeaza pe urmatoarea evaluare:
x n +1 =
f ' ' ( n ) ( x n )( x n +1 ) 2 f ' ( n ) 1+ 5 1.618 2
(13)
in care n si n sunt intr-o vecinatate curenta a radacinii , care contine pe xn-1 si xn. Fie aceasta vecinatate si I = [ , + ] . Notam
M= max f ' ' ( x)
I
2 min f ' ( x)
I
(14)
x n+1 M x n x n 1
(15)
(16)
(17)
Daca presupunem ca avem Me0<1 si Me1 <1 rezulta prin inductie ca Men<1. Relatia (17) arata cit de "aproape" de trebuie sa fie x0 si x1 si anume:
1 M 1 x1 < M
x0 <
(18)
Observatii asupra metodei secantei: Avantaje: metoda cere numai o evaluare a lui f(x) la un pas si anumke f(xn), intrucit f(xn1)
este calculat la pasul anterior si poate fi stocat. Convergenta este mult mai rapida decit
a metodelor anterioare la care p=1. Trei pasi ai metodei secantei au un ordin de convergenta de (1.618)34.2, adica echivalenta cu doi pasi ai unei metode patratice 22=4. Dezavantaje: Metoda nu converge daca x0 si x1 nu sunt suficient de apropiati de . Fractiile
x n x n 1 pot da valori imprecise datorita pierderii de semnificatie la f ( x n ) f ( x n 1 )
Ipoteze 1. f continua , f',f'' continue pe o vecinatate a radacinii cautate . Se presupune cunoscuta o aproximatie initiala a radacinii x0 2. f'()0
Metoda:
Graficul functiei f se inlocuieste cu tangenta la graficul functiei in x0 (aproximatia initialapresupusa cunoscuta), intersectia tangentei cu axa x este luata ca aproximatie urmatoare x1 a radacinii. Procedeul continua cu x1 astfel determinat.
y=f(x)
x2 x1 x0
x1 = x0
f (x0 ) f ' ( x0 )
(19)
Formula metodei Sirul de iterate ( x n )n 0 se obtine in baza urmatoarei relatii de recurenta: x n +1 = x n Convergenta Dezvoltind in serie Taylor functia f in vecinatatea radacinii cautate obtinem:
( x x 0 )2 ( ) f '' n f ( x ) = f (x0 ) + (x x0 ) f ' (x 0 ) + 2! x = (21) 0 = f ( x0 ) + ( x0 ) f ' ( x0 ) +
(20)
( x0 )2
2!
f ' ' ( n )
= x0
si prin generalizare:
(22)
= xn
f (xn ) f ' ' ( n ) 2 ( x n ) , < n < xn f ' (xn ) 2 f ' (xn ) f ' ' ( n ) , n 0; < n < x n 2 f ' (xn )
(23)
x n +1 = ( x n )2
Observatie-Studiul de convergenta:
(24)
Relatia (24) exprima eroarea iteratiei de ordinul (n+1) in functie de eroarea iteratiei de ordin (n).
Daca:
Atunci: a) Iteratele xn definite de relatia (20) se regasesc in I b) Sirul ( x n )n 0 converge spre c) ordinul de convergenta este p=2 d) lim
x n x n +1 x n
Prin urmare testul de convergenta x n < poate fi inlocuit cu x n +1 x n < .
(26)
Criteriul de comparatie va fi timpul de calcul necesar pentru gasirea radacinii cu o toleranta data. Metoda Newton face mai multe calcule pe un pas: se evalueaza f ( x ) si
f ' ( x ) . Metoda secantei evalueaza numai f ( x ) , presupunind ca f ( x anterior ) este stocat.
Metoda Newton cere mai putine iteratii, ordinul ei este pN=2. Metoda secantei are ordinul de convergenta pS=1.618 si trei pasi ai metodei sunt echivalenti cu 2 pasi ai metodei Newton. Se arata ca (Isaacson&Keller) daca timpul de calcul al lui f ' ( x ) este mai mare decit 0.44*timpul de calcul al lui f ( x ) metoda secantei este mai rapida. Observatie: Timpul de calcul nu este unicul criteriu in alegerea metodei. Metoda Newton prezinta avantajul simplitatii in aplicare. Daca f ( x ) nu este cunoscuta explicit (de exemplu ea este solutia unei ecuatii diferentiale integrate numeric) atunci derivata se calculeaza numeric. Daca luam urmatoarea expresie pentru calculul numeric al derivatei:
f ' (x) f ( x n ) f ( x n 1 ) x n x n 1
(27)
x = g ( x)
(28)
Radacina a ecuatiei se numeste punctul fix al aplicatiei g: = g ( ) . Metoda punctului fix (iteratia de punct fix) consta in construirea sirului:
x n +1 = g ( x n ), n 0; x 0 dat (aproximatia initiala a radacinii )
(29)
Daca functia g satisface conditiile: 1. aplica un compact C R in el insusi, 2. aplicatia este contractanta atunci pentru orice x0 C sirul ( x n )n 0 definit de relatia (29) converge catre punctul fix
Teorema 1. (Lema)
Fie g : [a, b] [a, b] , continua pe [a, b] . Atunci g are cel putinb un punct fix in [a, b] . Observatie: Conditia g : [a, b] [a, b] este esentiala. Explicit aceasta inseamna:
x [a, b], g ( x [a, b]) sau a g ( x ) b
(30)
y b
y=x y=g(x)
g(b)
g(a)
Fig.6.
Demonstratie:
(31)
(32)
Rezula astfel ca ecuatia G(x)=0 are cel putin o radacina in intervalul [a, b]. Observatie: Geometric, a rezolva ecuatia x=g(x) revine la a gasi intersectia graficului functiei g cu prima bisectoare.
Daca 1. g : [a, b] [a, b] , g este continua pe [a, b]. 2. , 0 < < 1 astfel incit:
x, x' [a, b] , g ( x ) g ( x') x x'
n x1 x0 , n 0. 1
(33)
Demonstratie
(a) Conform Teoremei 1, ecutia x=g(x) are cel putin o solutie in [a,b]. Demonstram prin contradictie ca solutia este unica. Presupunem ca exista doua solutii si , :
= g ( ) = g ( )
Avem:
(34)
= g ( ) g ( )
Cum 0 1 care contrazice ipoteza 2 ( < 1) .
(35)
x n n x0
de unde cu n 0 , rezulta ca x n 0 sau x n .
Intr-adevar, avem succesiv:
(36)
x n 1 = g ( ) g ( x n 2 ) x n 2
...
x n = g ( ) g ( x n 1 ) x n 1
(37)
x1 = g ( ) g ( x0 ) x0
Inmultind membru cu membru rezulta relatia (36). Pe de alta parte relatia (37) arata ca ordinul de convergenta este p=1 si rata convergentei este .
x0 x1 + x1 x0 x0 + x1 x0
de unde rezulta:
(38)
x0
Avem apoi: pentru n=1:
1 x1 x0 1
(39)
x1 x0
pentru n=2:
x1 x0 1
(40)
2 x1 x0 x 2 x1 1
Concluzia (c) rezulta prin inductie.
(41)
Cazul g derivabila. Verificarea conditiei Lipschitz este, in general, dificila. Vom considera in continuare cazul in care g este derivabila pe [a,b]. In acest caz, teorema cresterilor finite conduce la: g ( x ) g ( x') = g ' ( )( x x') Daca derivata g'(x) este marginita:
g ' ( x ) , x [a, b ]
(42)
(43)
rezulta ca
g ( x ) g ( x ') x x '
(44)
Teorema 2' Daca 1. g : [a, b] [a, b] , g este continua pe [a, b]. 2'. Atunci Concluziile (a), (b) si (c) din Teorema 2 sunt adevarate. x [a, b] , g ' ( x) < 1
Observatie asupra conditiei 2' Daca constanta din 2' nu este <1 nu au loc concluziile (a)-(c). In particular, daca
g ' ( ) > 1 , atunci avem pe o vecinatate a lui : g ' ( x ) > 1, x ( , + ) = I
x n +1 = g ' ( n )( x n ) unde n este situat intre si xn. Conform ipotezei rezulta: x n +1 > x n > ... > x0
Geometric, rezolvarea ecuatiei x=g(x) revine la intersectia graficului lui g, y=g(x) cu prima bisectoare y=x. In figurile 7 si 8 este prezentat cazul convergentei g ' ( x) < 1 . In figurile 9 si 10 este prezentat cazul divergenetei g ' ( x) > 1 .
y
y=x y=g(x)
x0
x1
x2
y=x
y=g(x)
x0
x2
x1
y=x
y=g(x)
x2
x0
x1
y=x y=g(x)
x2
x1
x0
In general, eroarea iteratei xn+1 , x n +1 se exprima in functie de x n +1 x n , adica diferenta dintre iterata curenta si iterata anetrioara. De exemplu in metoda Newton
iteratia de punct fix, in care functia g satisface conditiile din Teorema 2 sau 2'. Avem urmatoarele evaluari:
x n = x n +1 + x n +1 x n = g ( ) g ( x n ) + x n +1 x n x n x n + x n +1 x n
Apoi cu
(45)
x n +1 x n
rezulta
(46)
x n +1
x n +1 x n 1
(47)
x n +1 x n 1
adica
x n +1 x n 1 = XTOL
(48)
(49)
Definirea problemei
Se cere rezolvarea ecuatiei f(x)=0 in intervalul [a,b], prin metoda punctului fix, adica transformarea ecuatiei f(x)=0 intr-o ecuatie echivalenta de forma x=g(x). O astfel de transformare va fi numita procedura explicita de punct fix.
4.3.1 Proceduri
Propozitia 1
Fie ( x ) orice functie definita pe [a,b] continua si care nu se anuleaza pe [a,b]. Atunci definind:
g ( x) = x ( x ) f ( x)
(50)
ecuatia x=g(x) are aceleasi radacini ca si ecuatia f(x)=0 si u are alte radacini in [a,b].
Propozitia 2
Fie F(x) orice functie continua, cu proprietatile F(0)=0 si y0F(y) 0. Atunci definind
g ( x ) = x F ( f ( x))
(51)
Exemplificare
(52)
Cu aceasta rezulta
g(x) = x m f (x)
(53)
(54)
(55)
care conduce la
1 < 1 m f ' ( x) < 1
(56)
Se va presupune ca f ' ( ) 0 , rezulta ca 1. m trebuie sa aiba acelasi semn cu f'(x). 2. Daca f'(x)>0 trebuie ca: 0<m< 3. Daca f'(x)<0 trebuie ca 0>m>
Interpretare geometrica 2 f ' ( x)
2 f ' ( x)
(57)
(58)
(59)
sau generic
x1 = x0 m f ( x0 )
(60)
x1 este intersectia axei x cu dreapta dusa prin punctul (x0, f(x0)) de panta 1/m. Observatie: (m-optim) Pentru o convergenta mai rapisa vom cere ca g ' ( ) 0 ceea ce conduce la
m
1 f ' ( )
(61)
x1
x2
x0
5. EXTRAPOLAREA AITKEN
Extrapolarea (accelerarea) Aitken este un procedeu pentru accelerarea convergentei unui sir care converge liniar, oricare ar fi procesul care genereaza sirul. Procedeul va fi aplicat pentru accelerarea convergentei iteratiei de punct fix in cazul in care convergenta este de ordinul 1.
x n +1 = C , C este n x n
x n +1 C , n N1 xn
Avem atunci urmatoarea relatie:
x n + 2 x n +1 = x n +1 xn
Rezolvam in raport cu , de exemplu prin sir de rapoarte egale:
(62)
x n + 2 x n +1 x n+ 2 x n +1 = = x n +1 xn x n +1 x n x n +1 xn ( x n +1 x n ) = = x n + 2 x n+1 x n +1 x n ( x n + 2 x n +1 ) ( x n +1 x n )
de unde rezulta: ( x n +1 x n ) 2 x n +1 ) ( x n +1 x n )
(63)
(64)
= xn
( x n+ 2
(65)
Asa, cum s-a remarcat egalitatea anterioara este aproximativa depinzind de satisfacerea relatiei (62). Notind:
a n,n + 2 = x n
( xn+ 2
( x n +1 x n ) 2 x n +1 ) ( x n +1 x n )
(66)
(67)
1. Aproximatia a n ,n + 2 a radacinii, va fi mult mai buna decit x n + 2 = g ( x n +1 ) . Gradul de aproximatie a lui a n ,n + 2 depinde numai de gradul de satisfacere a relatiei (62). Nu si de marimea lui C. 2. Fie o functie f data prin tabelul valorilor in punctele x k (obisnuit alese echdistante). Definim diferenta inainte a functiei f, in xn, prin:
f ( x n ) = f ( x n +1 ) f ( x n )
(68)
(69)
Punind f ( x k ) = x k rezulta:
x n = x n +1 x n 2 x n = ( x n + 2 x n +1 ) ( x n +1 x n )
(70)
(x n ) 2 = xn 2 xn
(71)