Sunteți pe pagina 1din 18

CURS 4

4.1 Metoda secantei


Metoda Newton prezint inconvenientul de a calcula derivata lui f. Se poate ca aceast derivat f ' s fie dificil de calculat. Atunci, se nlocuiete derivata f ' ( x n ) printr-o aproximaie n funcie de valori ale lui f. De exemplu
f ' ( xn ) f ( x n ) f ( x n 1 ) . xn x n 1

(4.1 )

Aceasta este metoda falsei poziii (corzii). Metoda face parte tot din categoria metodelor iterative de rezolvare a unei ecuatii neliniare. Ipotezele pentru functia f sunt aceleasi ca si la metoda lui Newton. Numele metodei deriva din interpretarea geometrica. Mai exact se inlocuieste curba y = f (x) cu o coarda dusa prin punctele
B (b, f (b)) . A(a, f (a )) ,

Procedeul iterativ consta in apropierea de solutia exacta a ecuatiei

f ( x) = 0 , prin punctele de intersectie ale coardelor duse prin punctele

X k ( xk , f ( xk )), k = 1,2,.... si punctul fix X 0 ( x0 , f ( x0 )) - punct dat de conditia initiala a problemei iterative. Aceasta metoda se construieste pe doua conditii initiale, cu alte cuvinte implica cunoasterea a doua aproximatii ale solutiei exacte l si anume x0 , x1 . Ca si la metoda lui Newton alegerea lui x0 se face astfel incat sa fie verificata relatia

f ' ' ( x ) f ( x0 ) > 0 , x 0 [ a , b ] .

(4.2 )

Pentru usurinta vom alege unul din capetele intervalului [a,b] care respecta acesta relatie, iar x1 va reprezenta celalalt capat.

Astfel pentru aflarea aproximantei de ordin 2 vom intersecta secanta determinata de punctele A(a, f (a )), B(b, f (b)) - corespunzatoare conditiilor initiale cu ecuatia:

xa y f (a) = b a f (b) f (a ) si axa OX, cu ecuatia y = 0 . Obtinem x2 = a sau x2 = x1 f ( x1 ) ( x0 x1 ) , f ( x0 ) f ( x1 ) f (a) (b a ) f (b) f (a )

in conditiile in care x0 = b, x1 = a .

Continuand algoritmul pe aceeasi idee, aproximatia de ordin n+1 se obtine ca intersectie a secantei X 0 X n cu axa OX xn+1 = xn f ( xn ) ( x0 x n ) f ( x0 ) f ( x n ) (4.3 )

Inlocuind in formula lui Newton de iteratie f ( x k ) f ( x0 ) . x k x0

f ' ( xk ) cu aproximanta

Rezultatul (4.3 ) reprezinta relatia de iteratie in cazul metodei secantei.

y A f(a)

b 0 f(b) B a

Se genereaza astfel un sir de aproximante pentru solutia exacta l a ecuatiei f ( x) = 0, x [a, b] . Sirul de aproximante x0 , x1 ,...., xn , xn +1 va converge in

anumite conditii la solutia exacta a ecuatiei. In ipoteza unei erori eps>0 vom considera xn+1 o aproximanta satisfacatoare a solutiei ecuatie date daca: xn+1 xn eps . Amintim un rezultat important din analiz folosit n continuare

Teorema lui Lagrange


Fie f : [a, b] R . Dac : a) f este continu pe [a,b]; b) f este derivabil pe [a,b], atunci exist un punct (a, b) astfel nct f (b) f (a) = f ' ( ) (b a) .

Estimara erorii in metoda coardei


Fie f : [a, b] R , f C[2a ,b ] , f ' ' , f ' au semne constante, iar marginita adica

f ' este

m1 , M 1 > 0 astfel incat 0 < m1 f ' ( x) M 1 .


Sa consideram cazul extremitatilor mobile b (varf fix a). Avem

xn = xn1

f ( xn 1 ) ( xn 1 a ) rezulta f ( xn 1 ) f (a )

f ( xn 1 )( xn1 a ) = ( f ( xn 1 ) f (a))( xn xn1 ) f ( xn 1 ) =


Deoarece f (l ) = 0 urmeaza

f ( xn 1 ) f (a ) ( xn xn1 ) xn1 a

f (l ) f ( xn1 ) =

f ( xn1 ) f (a ) ( xn xn 1 ) . xn 1 a

Alicand teorema lui Lagrange avem


* (l xn1 ) f ' (l n 1 ) = ( xn xn1 ) f ' ( xn1 )

* unde l n1 ( xn 1 , l ) si xn 1 (a, xn1 ) .

Deci
(l xn1 ) f ' (l n 1 ) = [(l xn ) + ( xn xn1 )] f ' (ln 1 ) = = (l xn ) f ' (ln 1 ) + ( xn xn1 ) f ' (l n1 ). Deci egalitatea de mai sus devine
* (l xn ) f ' (l n1 ) = ( xn xn1 )[ f ' ( xn 1 ) f ' (ln 1 )] ,

adica
l xn =
* f ' ( xn 1 ) f (l n1 )

f ' (l n1 )

xn xn1 .

* Deoarece xn 1 , l n1 [a, b] avem si


* f ' ( xn1 ) f ' (l n1 ) M 1 m1 ,

adica l xn M 1 m1 xn xn1 . m1

Observatie Ordinul metodei secantei va fi mai putin bun decat cel al


metodei lui Newton.

Algoritm- Metoda secantei Date de intrare


f- functia asociata ecuatiei; a,b- capetele intervalului; eps- eroarea de aproximare;

Date de iesire
c- aproximatia solutiei aproximative Daca f (a) f (b) < 0 Atunci daca f ' ' (a) f (a) > 0 atunci c=b; k=0; altfel c=a; k=1; repeta d=c; daca k=0 atunci
c=d f (d ) (d a) f (d ) f (a)

altfel
c=d f (d ) ( d b) f (b) f (d )

pana cand c d eps

4.2 Metoda injumatatirii intervalului (bisectiei)


Metoda este clasicul procedeu de localizare a radacinilor unei ecuatii neliniare. Este cea mai simpl i totodat cea mai sigur metoda de rezolvare
numeric a ecuaiilor neliniare i transcendente. Singurul ei dezavantaj reprezint un ritm lent de convergen, care cere un numr mare de operaii matematice. Metoda are ca baza teorema valorii intermediare din analiza matematic i are ca o idee reducerea progresiv a intervalului de examinare a funciei date prin

njumtirea pentru a localiza rdcina cutat.

Fie ecuatia f ( x) = 0 , f : R R , functie continua. Sa presupunem ca s-a gasit un interval [a, b] R pentru care f (a ) f (b) < 0 , cu alte cuvinte exista cel putin o solutie (eventual un numar impar) in acest interval. Metoda injumatatirii sau bipartitiei consta in aproximarea succesiva a radacinii ecuatiei prin mijlocul intervalului [a,b] care se noteaza cu

c=

a+b . 2

Daca f (c) = 0 atunci c este radacina. Daca f (c) 0 , se calculeaza semnul produsului f (a ) f (c). Daca acesta este ngativ, atunci radacina se afla in intervalul [a,c], altfel radacina se afla in [c,b]. Calculele se reiau pe fiecare subinterval. Metoda este simpla si necesita doar o evaluare de functie pe iteratie. Procesul de impartire a intervalului continua pana cand avem indeplinita una din conditiile de oprire.: - depasirea numarului maxim de iteartii - restrangerea intervalului sub un prag ales eps. Sa reluam algoritmul introducand notatiile:

a0 = a, b0 = b, x0 =

a0 + b0 . 2

x0 va imparti deci [a, b] in 2 subintervaluri de lungime egala, radacina l , aflandu-se in unul din cele 2 intervale. Fie [a1 , b1 ] noul interval in care se gaseste l , ce indeplineste conditia f (a1 ) f (b1 ) < 0. Evident l x0 < ba . 2

Urmand procedeul obtinem intervalele: [a1 , b1 ],[a2 , b2 ] ,....., [an , bn ] si mijloacele acestora ce vor reprezenta si aproximatiile solutiei ecuatiei. xn = an + bn , n 0. 2

Selectarea acestui interval se face conform conditiilor: Daca f (an ) f ( xn ) < 0 atunci an +1 = a n , bn+1 = bn . Se observa ca bn+1 a n+1 = si l xn < bn +1 a n+1 = b0 a0 2 n+1 bn an b a = .... = 0 n+1 0 2 2

Relatia are si rolul de a evalua precizia in cazul aproximarii solutiei l cu aproximatia de ordin n, xn . Relatiile anterioare arata ca ca sirurile {an },{bn } sunt convergente la l . Prin urmarea dupa injumatatiri succesive, lungimea intervalului [an , bn ] ce contine radacina se poate calcula astfel:

bn an =

ba . 2n

Prin urmare eroarea intre solutia exacta si aproximanta x este data de eps < l x ba . 2n

Convergenta
Metoda construete irul de iterate (puncte) x1,x2,...,xn... La fecare pas(iteraie) avem:
| xi | bi a i 2

rezult:
| x1 | ba 2

| x 2 |

ba 22

....
ba 1 | x n | n = (b a ) 2 2
n

Pentru a demonstra convergena este suficient s artm c irul definit de mijloacele intervalelor xi, are ca limit . Se observ c distana dintre cele dou margini ale intervalului se njumtete la fiecare iteraie. ntre valorile termenilor acestor iruri se poate scrie relaia :
bn an = ba 2n

unde a i b extremitile intervalului. Trecnd la limit ecuaia de mai sus rezult:


ba lim bn lim an = lim n n n n 2

Dar

ba lim n =0 deci rezult egalitatea lim a n = lim bn n n n 2

Cum irul {an}este cresctor i mrginit de pe cnd irul {bn} este descresctor i mrginit de rezult convergena irurilor {an}, {bn}, {xn} ctre aceiai valoare:
lim a n = lim bn = lim x n =
n n n

Deoarece {an} i {bn} ncadreaz permanent soluia ecuaiei este adevrat inegalitatea: f(an)*f(bn)<0 Pentru a demonstra c numrul este soluia cutat tercem le limit inegalitatea de mai sus

lim[ f (a n ) * f (bn )] 0
n

[lim f (a )]* [lim f (b )] 0


n n n n

Dar ambele iruri au limita , astfel c ajungem la inegalitatea : f()*f() 0 de unde rezult c este rdcina cutat. Pentru a evidenia viteza de convergen, se consider c la fiecare iteraie i, mijlocul intervalului [ai,bi], xi este cea mai bun aproximare a soluiei rezult c : |xi+1-|= |xi-| Dac condiia de finalizare a calculelor iterative este
ba n = log 2 1 2

|bn-an|= , atunci

prin logaritmare n relaia (2.5) obinem numrul de iteraii necesare:

Algoritm-metoda bisectiei Intrari : a,b- capetele intervalului


f- functia continua; eps- precizia;

Iesiri aproximanta solutiei ecuatie data de mijlocul intervalului [an , bn ] , c ,


cu a n bn < eps it = 1 + trunc((log(b a )) log(eps )) / log(2)); for k=1:it c= a+b ; 2 daca f (c) = 0 atunci a = c;

b = c; altfel daca f (b) f (c) < 0 atunci a = c ; altfel b = c; c= a+b 2

Metoda biseciei converge spre soluie indiferent ct de departe este punctul de pornire, fapt pentru care se consider o metod global de determinare a soluiilor. Convergena spre soluie este lent, trebuie executate un numr mare de mpriri ale intervalului pentru a ajunge la o precizie satisfctoare. Metoda biseciei nu poate fi utilizat pentru determinarea soluiilor unei funcii care este tangent la axa Ox, fr s o strpung, fiindc nu se verific chiar condiia de start.

4.3 Metoda punctului fix


Definiie Se numete punct fix al unei aplicaii g(x)un numr real p care
verific relaia p = g ( p ) . S-a vzut c n relaiile de iteraie anterioare avem urmtoarea situatie: x0 dat xn +1 = g ( xn ) (*)

Problema ce se considera este de a alege o metoda, deci functia g, astfel incat sirul {xn }nN sa fie convergent la l. Este necesar ca solutia ecuatiei x = g (x) in intervalul [a, b] sa fie aceeasi cu solutia ecuatiei f ( x) = 0 in intervalul [a, b] . Procedeul de calcul a soluiilor aproximative prin relatia (*) se numete metoda punctului fix.

Are loc

Teorema 4.3.1 Dac n intervalul [a,b] funcia g verific urmtoarele


condiii: a) pentru orice x [a, b] are loc g ( x) [a, b] ; b) g este o aplicaie strict contractant, adic exist un numr real L:
0 L < 1 astfel nct pentru x [a, b] , y [a, b] avem: | g ( x) g ( y ) | L | x y |

atunci, oricare ar fi x0 [a, b] irul definit prin xn +1 = g ( x n ) converge spre unica soluie l a ecuaiei x = g (x) cu l [a, b] . Demonstraie. Dac l 1 i l 2 sunt dou soluii distincte ale ecuaiei x = g (x) urmeaz c
| l 1 l 2 | = | g (l 1 ) g (l 2 ) | L | l 1 l 2 | cu L < 1 .

Deci | l 1 l 2 | (1 L) 0 . Deoarece L < 1 obinem l 1 = l 2 . Avem


| xn +1 xn | = | g ( x n ) g ( xn 1 ) | L | x n x n 1 | .

Deci | xn +1 x n | Ln | x1 x0 | sau
| xn + p xn | = | ( xn + p x n + p 1 ) + ( x n + p 1 x n + p 2 ) + ... + ( x n +1 x n ) | | xn + p xn + p 1 | + | xn + p 1 x n + p 2 | + ...+ | xn +1 xn| .

Deci
| x n + p x n | | x1 x0 | ( Ln + p 1 + Ln+ p 2 + ... + Ln ) Ln | x1 x0 | | x1 x0 | 1 Lp 1 L

Ln . 1 L

Deoarece lim Ln = 0 urmeaz c lim | x n + p x n |= 0 pentru p N .


n
n

Deoarece irul ( x n ) verific criteriul lui Cauchy urmeaz c el este convergent spre limita sa l i cum g este funcie continu, deoarece este strict contractant, aceast limit verific l = g (l) . Dac xn [a, b] atunci g ( x n ) [a, b] . Deoarece elementele irului ( x n ) aparin intervalului [a,b] (deoarece x0 [a, b] ) i ( x n ) converge, urmeaz c limita sa
l aparine intervalului [a,b].

Se poate evalua eroarea fcnd n s tind spre :


Ln | l x n | | x1 x0 | . 1 L

Dac g este o funcie derivabil atunci o condiie suficient astfel nct g s fie strict contractant este urmtoarea.

Propoziia 4.3.2 Fie g o funcie derivabil n [a,b]. Dac g ' verific


x[ a, b ]

max | g ' ( x) | = L < 1 atunci g este o aplicaie strict contractant n intervalul

[a,b]. Utiliznd formula creterilor finite (Lagrange):


g ( x) g ( y ) = g ' ()( x y ) cu (a, b) , | g ( x) g ( y ) | =| g ' () || x y | ( max | g ' ( x) |) | x y | = L | x y |
x[ a, b ]

unde 0 L < 1 . Condiia a) din teorema precedent trebuie s fie ndeplinit. ntr-adevr. deoarece
x = g ( x) 1 = 0. x 1 , x 1 x2

Pentru

funcia

g ( x) = x +

unde

x 1,

g ' ( x) = 1

| g ' ( x) | c < 1 , dar ecuaia x = g (x) nu are punct fix n intervalul considerat,

Intervalul [a,b] n care ipotezele teoremei de punct fix sunt verificate este, n general greu de determinat. Dac se poate calcula (estima) g ' (l) atunci are loc urmtorul rezultat.

Propoziia 4.3.5

Fie l o soluie a ecuaiei x = g (x) cu g ' funcie continu.

Dac | g ' (l) | < 1 atunci exist un interval [a,b] coninnd l pentru care irul definit prin x0 [a, b] i xn +1 = g ( x n ) converge la l .

Propoziia 4.3.6 Fie l o soluie a ecuaiei x = g (x) . Dac g ' este continu ntr-o vecintate a lui l i | g ' (l) | > 1 , x0 l , irul definit de x0 i xn +1 = g ( x n ) nu converge spre l .
Dac | g ' (l) | = 1 atunci irul ( x n ) poate converge sau diverge. Pentru a determina in ce conditii sirul definit cu ecuatia xn+1 = g ( xn ) , n=0,1,... este convergent cu limita , se presupune g(x) derivabila pe [a,b], si se calculeaza distana la rdcina dupa care se aplica teorema cresterilor finite (Lagrange) : |xi+1-| = |g(xi) g()|=|g`()| * |xi-| cu [a,b]

Din relaia de mai sus rezulta ca sirul {xi} i=0,1,2,...,n este convergent spre daca distanta la rdcin scade la fiecare iteratie : |g`()|< 1

[a,b]

Cu alte cuvinte maximul valorii absolute a derivatei pe [a,b] trebuie sa fie subunitar :
M = sup | g ' ( x) |< 1
( a ,b )

iar din ecuatia |g`()|< 1

[a,b] obinem

|xi+1 | M * |xi |

Rezulta ca metoda cvontractiei asigura o convergnta liniara, iar numarul de iteratii este cu atat mai mic cu ct M este mai aproape de zero. Un aspect de interes n prezentarea metodei o reprezint criteriul de oprire a procesului iterativ. De obicei aceasta se face cnd distant dintre dou aproximatii succesive devine mai mic dect o tolerant impus, |xi+1-xi|

ALGORITM Date de intrare:


- f (contractie) - x00 (termenul initial al sirului) - eps (eroare ce determina conditia de oprire: se calculeaza termenii sirului pna la xn cu proprietatea xn xn+1 eps ). Date de iesire: xn (aproximatie satisfacatore (determinata de eps) pentru punctul fix). { x =x ; 0 00
x = f (x ) ; 1 0

ct timp x x eps executa 0 1


{ x =x ; 0 1 x = f ( x ) ;} 1 0 }

Faptul ca f este contractie asigura terminarea programului ntr-un numar finit de pasi. Pentru a evita ciclarea n situatia n care un utilizator ar ncerca

folosirea programului pentru o functie care nu este contractie, se poate stabili de la nceput un numar maxim de pasi ce urmeaza a fi executati. De asemenea se poate afisa la fiecare pas diferenta dintre termenii consecutivi curenti. (pentru a observa ca sirul nu converge daca f nu e contractie). Astfel se poate folosi urmatoarea varianta a algoritmului: Date de intrare: - f (contractie) - x (termenul initial al sirului) 00 - eps (eroare ce determina conditia de oprire: se calculeaza termenii sirului pna la xn cu proprietatea xn xn+1 eps ). - Nmax- numrul mxim de iteraii ( n N max , va fi o condiie de oprire a buclei) Date de ieire: xn (aproximatie satisfacatore (determinata de eps) pentru punctul fix). { x = x ; x = f (x ) ; 0 00 1 0 n=1

ct timp x x eps si (n<Nmax) executa 0 1


{ x =x ; 0 1 x = f (x ) ; 1 0 n=n+1 scrie ( x1 x0 )} }

Teorema urmtoare asigur condiiile pentru convergena unui proces iterativ de punct fix

Teorema
Presupunem c avem i) g , g ' C ([a, b]) ii) k este o constant pozitiv iii) p0 (a, b) iv) g ( x) [a, b] pentru x [a, b] Atunci a) Dac g ' ( x) k < 1 pentru orice x [a, b] atunci iteraia pn = g ( pn1 ) va converge la un punct fix unic p [a, b] ; b) Dac g ' ( x) > 1 pentru orice x [a, b] atunci pn = g ( pn1 ) nu va converge la p.