Sunteți pe pagina 1din 144

Curs 1

Elemente de teoria aproximarii


1.1. Introducere Se poate intampla ca diverse fenomene din jurul nostru care se
cerceteaz cu ajutorul metodelor matematice s fie caracterizate prin functii de una sau
mai multe variabile reale, insa pentru care nu exista posibilitatea determinarii lor
complete ci doar a aflarii valorilor pe anumite valori particulare ale argumentelor.
Cunoscand aceste valori se doreste adesea sa se aproximeze fie valorile functiilor
respective pe alte noi puncte din domeniul lor de definitie, fie anumite caracteristici
numerice cum ar fi: valorile pe puncte date ale derivatelor de anumite ordine sau
integralelor pe anumite domenii.
Metodele numerice isi propun gasirea unor solutii aproximative eficiente la probleme
diverse ce pot fi exprimate prin modele matematice, eficienta data in primul rand de
precizia ceruta (eroare) dar si de usurinta implementarii. Prin urmare metodele numerice
trebuiesc alese tinand cont de convergenta, stabilitate, propagarea erorilor si de
analiza complexitatii algoritmului asociat.
Prin algoritm vom intelege un set de instructiuni care specifica succesiunea de operatii
ce urmeaza sa fie aplicate asupra datelor pentru rezolvarea efectiva a problemelor de un
anumit tip.
Stabilitatea- in sensul ca variatii mici in datele numerice-care de obicei sunt afectate
de erori- sa aiba ca efect variatii de asemenea mici ale solutiilor aproximative.
Convergenta- intr-un anumit sens, a sirului de aproximatii successive, la care suntem
condusi pe baza unei relatii, la solutia exacta a problemei.
In metodele de aproximare se pune si problema vitezei convergentei. O convergenta
prea lenta reprezinta un neajuns serios al unei metode de aproximare.

O atentie speciala se impune a fi acordata procedeelor de aproximare care conduc la


solutii optimale, in sensul ca abaterea intr-o anumita norma a solutiei aproximative de la
solutia exacta sa fie minima pentru o anumita clasa de solutii posibile. In aceasta
categorie se incadreaza teoria celei mai bune aproximari, cuprinzand ca un caz special
important metoda celor mai mici patrate, precum si a formulelor optimale de derivare si
integrare numerica.
Vom intelege prin problema algoritmica o functie total definite P : I F , unde I este
multimea informatiilor initiale (intrarile problemei) iar F este multimea informatiilor
finale. Presupunem ca I si F sunt cel mult numarabile. Din multitudinea de algoritmi
existenti pentru rezolvarea unei probleme se va alege cel mai performant, adica sa fie
usor de inteles, codificat, modificat, depanat si sa utilizeze in mod eficient
resursele.Eficienta unui algortitm se regaseste si in timpul consumat prin care
intelegem timpul consumat in numar de operatii (in virgula mobila).
Sa notam cu T TA ( p ) numarul de operatii effectuate de algoritmul A pentru rezolvarea
unei instante p P (i ), i I si vom asocial problemei rezolvate un numar g (P ) numit
dimensiunea problemei- numarul datelor de intrare.
Timpul se exprima ca o functie de dimensiunea problemei, functie numita complexitatea
in timp a algoritmului T f (n) .
Comportarea in cazul cel mai nefavorabil a algoritmului A pe o intrare dedimensiune n
este
TA ( n) sup{TA ( p ) : p P si g ( P ) n} ,

iar comportarea medie a algoritmului este


TAmed ( n) M ({TA ( p) : p P si g ( P) n})

adica media variabilei aleatoare TA ( p ) .


Determinarea exacta a lui T A (n) este dificila vom cauta margini superioare si inferioare
pentru T A (n) . Pentru functia f : N N ,
O ( f ) { g g : N N , c R, c 0, n0 N : g (n) cf ( n), n n0 }
( f ) {g g : N N , c R, c 0, n0 N : g (n) cf (n), n n0 }
( f ) { g g : N N , g O ( f ) ( f )} .

Spunem ca P are complexitatea O( f ( n)) daca exista un algoritm A care rezolva


problema P si are complexitatea TA (n) O( f ( n)) . O problema are complexitatea
( f ( n))

daca orice algoritm A care rezolva problema P are complexitatea

TA ( n) ( f ( n)) . Un algoritm A cu proprietatea ca TA ( n) O( p ( n)) , unde p este un

polinom in n , se numeste polinomial. Un algoritm care nu este polinomial se numeste


exponential.
Presupunem ca un pas necesita 10 6 secunde, adica O (1) 10 6 secunde, atunci n=40.
--Un algoritm cu functia de complexitate n necesita 0.00004 secunde,
--Un algoritm cu functia de complexitate n5 necesita aprox. 1.7 min,
--Un algoritm cu functia de complexitate n6 necesita aprox 129 ani.
Intrucat cea mai mare parte a materialului se refera la aproximarea functiilor, a unor
functionale liniare definite pe spatii de functii sau la aproximarea solutiilor unor ecuatii
operatoriale prin metode generate de procedee de aproximare a functiilor, accentul se va
pune pe prezentarea cu precadere, a spatiilor de functii.
In general, intr-o problema de aproximare intervin trei elemente esentiale:
1. o multime B ale carei elemete urmeaza a fi approximate
2. o multime A a aproximatiilor ( cu elementele careia se aproximeaza elementele lui
B)
3. un criteriu prin care se selecteaza aproximatia din A a unui element dat din B
De cele mai multe ori criteiul de selectie are la baza eroarea de aproximare Nu sunt
excluse nici situatiile in care aproximatia din A a unui element a lui B se allege astfel
incat ea sa fie usor de calculate sau cumularea erorilor de calcul sa fie cat mai redusa.
Un loc aparte il ocupa problemele in care pentru un element dat f B se cere
determinarea elementului lui A care aproximeaza cel mai bine pe f sau elemental din A
care aproximeaza pe f cu o eroare dinainte data. Daca multimea A nu contine nici un
element care sa aproximeze pe f cu eroarea prescrisa, ea poate fi extinsa astfel incat
conditia pusa sa fie satisfacuta. De exemplu daca A este multimea functiilor polinomiale
de grad cel mult n, Pn , extinderea ei se poate face prin marirea gradului n, prin trecerea
la multimea functiilor spline, a functiilor rationale, etc.

Apare astfel necesitatea definirii erorii de aproximare a lui f B prin elementul din A, a
compararii mai multor aproximatii ale lui f cu scopul de a decide care dintre ele este mai
convenabila sau chiar la determinarea celei mai bune aproximatii din A a lui f.
In unele cazuri definrea erorii poate depinde si de natura multimii B, de structurile cu care
este inzestrata. De exemplu daca ( B, d ) este un spatiu metric, A B si f B , eroarea
de aproximare a lui f prin g A se masoara prin distanta d ( g , f ) . Elementul

g* A

pentru care d ( g * , f ) d ( g , f ) oricare ar fi g A este cea mai buna aproximatie a lui f


in A.
Amintim ca ( B, d ) este un spatiu metric daca pe multimea B este definite o aplicatie
(metrica) d : B B R care satisfac conditiile:
1. d ( f , g ) 0 si d ( f , g ) 0 daca si numai daca f g
2. d ( f , g ) d ( g , f )
3. d ( f , h) d ( f , g ) d ( g , h) pentru orice f , g , h B

1.2 Spatii liniare. Definitii si notatii


Fie B un spatiu liniar peste corpul K (vezi definitia la spatiu liniar)
Daca K=R atunci B este spatiu liniar real, iar daca K=C, B este spatiu liniar complex.
O aplicatie a lui B in K se numeste functionala.
O functionala L : B K se numeste functionala aditiva daca
L( f g ) L( F ) L( g ) oricarea ar fi f , g B

O functionala L : B K se numeste functionala omogena daca


L(f ) L( f ) oricare ar fi K si f B

O functionala aditiva si omogena se numeste functionala liniara.


O functionala reala nenegativa p definite pe spatiul liniar B cu proprietatile:
1. p( f g ) p( f ) p( g ) oricare ar fi f , g B
2.

p (f ) p ( f ) ,

oricare ar fi K si f B

se numeste seminorma pe B.
O seminorma p definite pe spatiul liniar B se numeste norma daca din p( f ) 0

rezulta f 0 .
Spatiul liniar B (peste corpul K) inzestrat cu o norma p se numeste spatiu liniar normat.
Proprietati ale normei:
1.
2.
3.

0 implica

f 0

f g f g

Daca B este un spatiu liniar normat atunci


d ( f , g) f g ,

f ,gB

este o distanta in B.
Deci orice spatiu liniar normat este un spatiu metric.
Fie { f n }nN un sir de elemete din B si f B . Se spune ca sirul converge in norma la f
daca:
lim f n f 0 .
n

Un sir { f n }nN de elemete ale spatiului liniar normat B se numeste sir Cauchy (in norma)
daca pentru orice numar 0 exista un numar natural N N astfel incat
fm fn

daca m, n N .
Un sir convergent este un sir Cauchy.
Un spatiu liniar normat se numeste complet daca orice sir Cauchy de elemente ale sale
este convergent.
Un spatiu liniar normat si complet se numeste spatiu Banach.
Daca B este un spatiu liniar cu produs scalar, norma definite pe B prin f f , f se
spune ca este indusa de produsul scalar.
Un spatiu liniar normat cu norma indusa de produsul scalar se numeste spatiu
prehilbertian.
Un spatiu prehilbertian si complet se numeste spatiu Hilbert.
Deci un spatiu Hilbert este un spatiu Banach cu norma indusa de un produs scalar.

1.3 Probleme numerice


Combinatia dintre o problema matematica (PM) de natura constructiva si specificatiile
de precizie ale rezultatului (SP) se numeste problema numerica.
Exemplul 1 Fie f : R R si x R . Dorim sa calculam y f (x) . In general x nu este
reprezentabil in calculator; din acest motiv vom lucra cu o aproximare x * a sa x * x .De
asemenea este posibil ca f sa nu poata fi calculate exact; vom inlocui f cu o aproximanta a
sa f A .Valoarea calculate in calculator ca fi f A ( x * ) . Deci problema numerica este
urmatoarea:
PM. Dandu-se x si f, sa se calculeze f(x);
SP

f ( x) f A ( x * )

cu

dat.

Exemple de probleme numerice


1. Evaluarea unei functionale l : F R cum ar fi de exemplu, calcularea valorii unei
functii f (x) , a derivatelor f ' ( x ), f ' ' ( x), (derivare numerica), a integralelor
b

definite

f (t )dt (integrare numerica) si a normelor

, etc.

2. Rezolvarea ecuatiilor algebrice: determinarea valorilor unor necunoscute aflate in


relatii algebrice prin rezolvarea unor sisteme de ecuatii liniare sau neliniare.
3. Rezolvarea unor ecuatii analitice: determinarea functiilor (sau valorilor de functii)
solutii ale unei ecuatii operatoriale, cum ar fi ecuatiile diferentiale ordinare sau cu
derivate partiale, ecuatiile integrale, etc
4. Probleme de optimizare: determinarea unor valor numerice particulare ale unor
functii, care optimizeaza (minimizeaza sau maximizeaza) o functie obiectiv cu
restrictii sau fara restrictii.
Problemele matematice constructive, din care provin problemele numerice, pot fi
privite ca o aplicatie, abstracta F : X Y intre doua spatii liniare normate. In functie
de care dintre cantitatile y,x sau F este necunoscuta in ecuatia

Fx y

avem de a face cu o problema directa, o problema inversa sau o problema de


identificare.

Curs 2
Teoria erorilor
2.1 Sursele i clasificarea erorilor. n rezolvarea numeric a unei probleme deosebim
n general - trei feluri de erori:
1) Erori inerente (iniiale). Aceste erori provin din: simplificarea modelului fizic
pentru a putea fi descris printr-un model matematic; msurtori iniiale;
calcule anterioare; datele problemei;
2) Erori de metod (de trunchiere) care se datoreaz preciziei insuficiente a
metodei folosite. Majoritatea metodelor necesit un numr mare de operaii
aritmetice (adesea un numr infinit!) pentru a ajunge la soluia exact a
problemei. Acest fapt necesit trunchieri (renunarea la o mulime - eventual
infinit - de operaii) i aproximaii;
3) Erori de rotunjire (de calcul) care apar n datele de intrare, n calculele pe
parcurs i n datele de ieire. Astfel, datele de start nu pot fi numere cu o
infinitate de cifre deoarece nu putem opera cu acestea. Se nltur multe cifre eventual o infinitate - rotunjind numerele date, prin reinerea unui numr finit
de cifre. Pe parcursul calculelor numrul cifrelor crete i se impune de
asemenea rotunjirea. Chiar rezultatul final se rotunjete reinndu - se un
numr de cifre corespunztor preciziei dorite.
In memoria interna a unui calculator numeric se foloseste reprezentarea in
virgula mobila, in forma normalizata. Orice numar real se scrie
x m be , m 1

unde m este un numar real numit mantisa, b 0 (b 1) este baza sistemului de


numeratie, iar e (intreg) este exponentul. In forma normalizata , mantisa este
7

cuprinsa in intervalul [b 1 ,1)

(b 1 m 1) .

Mantisa se obtine deplasand

virgula in fata primei cifre nenule ce apare in scrierea numarului (in baza b).
Exponentul se ia egal cu numarul de pozitii cu care s-a deplasat virgule
precedat de semnul + daca deplasarea s-a facut de la drapta la stanga, si de
semnul daca deplasarea s-a facut de la stanga la dreapta.
Exceptie de la acesta regula de reprezentare este numarul zero.
Prin urmare, un numar real cu mai multe cifre semnificative este rotunjit la
numarul de cifre maxim, lucru care se realizeaza prin rotunjirea mantisei.
Eroarea total se compune din cele trei erori:
Eroarea total = erori inerente + erori de metod + erori de rotunjire.
Pentru o anumit metod numeric de rezolvare a unei probleme, eroarea inerent i
eroarea metodei constituie eroarea ireductibil care nu poate fi influenat de exactitatea
efecturii calculelor.
Un numr aproximativ real i pozitiv scris n baza 10 are forma
a=a110n+ a210n-1+ a310n-2+...+am10n-m+1,
unde 0 ai 9,

i 1, m

, n Z, ai fiind cifrele numrului a n sistemul zecimal. Cifrele

(semnele) unui numr aproximativ a care se iau n considerare n calcul, se numesc cifre
semnificative.
Definiia 1.1.1. Se numesc cifre semnificative ale unui numr aproximativ a,
cifrele nenule precum i cele nule care sunt situate ntre cifre nenule sau care indic
ordinele pstrate n calcule (ordinele semnificative).
Exemplul 1.1.1 La numrul
a=5 10 -3+0 10 -4+0 10 -5+3 10 -6+0 10 -7=0,005003000 cifrele semnificative sunt
subliniate. Primele trei cifre sunt nesemnificative, ele indicnd doar poziia virgulei;
ultimele dou cifre nu sunt semnificative deoarece a conine cifre pn la ordinul de
mrime 10-7.
Fie k numarul de cifre semnificative. Presupunem ca b=10. Atunci, un numar x se va
scrie
x m 10 e n 10 e k

m , n [0.1,1)

unde n contine cifrele care nu pot fi incluse in mantisa m.


Rotunjirea se face simetric (de obicei), adica se inlocuieste
n 1

daca

n 0. 5 , n 0

daca

n 0.5.

In acest fel marginea erorii relative este


n 10 e k / m 10 e 5 10 k

Erorile cu marginea data sus se fac la introducerea numerelor reale in memoria


calculatorului numeric.

2.2 Masuri ale erorii


Erori absolute i erori relative
Eroarea absolut = valoare aproximativ - valoare exact
Eroarea relativ =eroarea absoluta/valoare exacta
Din aceste definiii se obine:
Valoare aproximativ = (valoare exact )(1 + eroare relativ)
Eroarea absolut nu ine seama de ordinul de mrime al valorilor comparate. De exemplu,
o eroare n centimetri este mai important dac lungimea calculat este de 100 cm, dect
dac este de 100 km. De aceea, eroarea relativ se raporteaz la valoarea real. Adesea
eroarea relativ se exprim n procente:
Eroarea absoluta/valoare exacta * 100 %
De obicei valoarea exact nu este cunoscut. De aceea nici eroarea (absolut sau relativ)
nu poate fi calculat, i doar se estimeaz valorile limit ale acesteia. Se utilizeaz
majorani pentru modulul erorii (sau norma erorii, dac se lucreaz ntr-un spaiu
normat).
Definitie 1.1.1 Fie X un spatiu liniar normat, A X si x X . Un element x * A se
numeste aproximanta a lui x din A (notatie x * x ).
Definitie 1.1.2 Daca x * este o aproximanta a lui x diferenta x x x * se numeste
eroare, iar

x x x *

se numeste eroare absoluta.

Eroarea absoluta nu caracterizeaza intotdeauna precizia.

Observatie Eroarea absoluta se masoara in aceleasi unitati de masura, in timp ce eroarea


relativa nu are dimensiuni si se exprim in procente.
Exemplu: Distanta Bucuresti- Ploiesti (60 km) masurata cu o eroare relativa de 6 m
inseamna o eroare relativa de 0.01% in timp ce o cladire de 60 m masurata cu o aceeasi
eroare inseamna o eroare relativa mult mai mare de 10%.
Prin urmare:
Definitie 1.1.3 Expresia
x

x
x

, x0

se numeste eroare relativa.


Observatii
1. Deoarece in pratica x este necunoscut, se foloseste aproximarea
Daca

x
x*

este mic comparative cu x * , atunci aproximanta este buna.

2. Daca X=R, se lucreaza cu x

x
si x x * x .
x

Erori apriori i erori aposteriori


S presupunem c dorim s calculm y = f(x), unde f : R R, dar obinem o valoare
aproximativ y*.
Eroare apriori = x = x* - x
Eroare aposteriori = y = y* - y, unde f(x*) = y*.
De exemplu, dac aproximm y prin y* = 1.4, eroarea aposteriori absolut este
| y | =| y* - y | = | 1.4 - 1.41421| 0.0142
iar eroarea aposteriori relativ este aproximativ 1%.
Pentru a calcula eroarea apriori, observm c

1.96

=1.4. Eroarea a priori absolut este

| x | =| x* - x | = | 1.96 - 2 | 0.04,
iar eroarea apriori relativ este aproximativ 2%.
Analiza erorilor apriori

10

Ideea analizei erorilor din punct de vedere a erorilor apriori este urmtoarea: soluia
aproximativ este soluia exact a unei probleme modificate.
Soluia aproximativ se consider "bun" dac este soluie exact pentru o problem cu
datele "uor" perturbate. Deseori eroarea apriori este mai uor de estimat dect eroarea
aposteori
Condiionarea numeric. Factor de condiionare.
Problema se numete bine condiionat dac variaiile relative ale soluiei au acelai
ordin de mrime cu variaiile relative ale datelor de intrare ce le cauzeaz.
Problema este ru condiionat dac modificrile relative care au loc n soluiei pot fi
mult mai mari dect cele ale datelor de intrare.
Factorul de condiionare se definete prin:
cond

variatia relativa a solutiei


variatia relativa a datelor de intrare

S revenim la calculul y = f(x), unde f : R R. S presupunem c


se obine valoarea aproximativ y*. Fie x* cu proprietatea c f(x*) = y*.
Avem

cond

f ( x* ) f ( x )
f ( x)
x* x
x

y
y

x
x

.Problema este ru condiionat, dac factorul de condiionare cond >> 1.


Factorul de condiionare acioneaz ca un "factor de amplificare" legnd eroarea
aposteriori de eroarea apriori:
| eroarea relativ aposteriori | = cond | eroarea relativ apriori |
De obicei factorul de condiionare nu este cunoscut exact i poate varia n funcie de
datele de intrare. De aceea se utilizeaz o estimaie margine superioar pentru cond. Deci
| eroarea relativ aposteriori | < cond | eroarea relativ apriori |.
Considerm un exemplu de estimare pentru factorul de condiionare.
S presupunem c se evalueaz funcia f pentru data de intrare aproximativ
x* = x + x
n locul datei exacte de intrare x. Eroarea absolut aposteriori este
11

f ( x x) f ( x) f ' ( x )x

iar eroarea relativ aposteriori este


f ( x x ) f ( x)
f ' ( x) x

f ( x)
f ( x)

Factorul de conditionare este


f ' ( x ) x
f ( x)
xf ' ( x )
cond

x
f ( x)
x

Stabilitatea algoritmilor Un algoritm de rezolvare a unei probleme este stabil daca


rezultatul produs este solutia exacta a celeeasi probleme cu datele usor perturbate. In
cazul algoritmului stabil efectul erorii de calcul nu este mai puternic decat efectul erorii
(mici) a datelor de intrare.
Acuratetea se refera la apropierea solutiei calculate de solutia exacta a problemei.
Stabilitatea algoritmului nu garanteaza acuratetea, dar ea depinde in egala masura de
buna conditionare a problemei si de stabilitatea algoritmului.

2.3 Propagarea erorilor de calcul


Considerm urmtoarea problem tipic: calculul valorii unei funcii
f : R R pentru

un argument dat. Fie:

x = valoarea de intrare exact


x* = valoare de intrare aproximativ
f (x ) = rezultatul dorit

f* = funcia aproximativ de calcul


Eroarea total este dat de:
f*(x*) - f(x) = (f*(x*) - f(x*)) - (f(x*) - f(x))
Deci
Eroare total = eroare de calcul + eroare propagat a datelor,
unde,
Eroare de calcul = f*(x*) - f(x*)
Eroare a datelor = x* - x.
12

Algoritmul nu are nici un efect asupra erorii propagate a datelor.


Consideram doua numere x si y introduse cu erorile x , respectiv y .
x x* x
y y* y

Propagarea erorilor la adunare


Presupunem ca se efectueaza suma numerelor
x y x* y* x y

astfel incat eroarea relativa la sumare este


x y
x* y*

x y
x* y*

x*
y*

y
( x* y * )
( x* y * )

adica o suma ponderata a erorilor introduce la reprezentarea in calculator a cantitatii


sumate. Notam cu s eroarea introdusa suplimentar la reprezentarea sumei

x* y* .

Eroarea relativa totala la sumare, ts , va fi


ts

x*
y*
x *
y s
*
(x y )
( x y* )
*

Propagarea erorilor la scadere


Presupunem ca se efectueaza scaderea numerelor

x y x* y* x y

astfel incat eroarea relative la scadere este


x y
x* y*

x y
x* y*

x*
y*

y
x* y*
x* y*

adica o diferenta ponderata a erorilor introduce la reprezentarea in calculator a diferentei.


Notam cu d eroarea introdusa suplimentar la reprezentarea diferentei
relative la scadere, td

x* y* .

Eroarea

x*
y*

y d .
( x* y * )
( x* y * )

Exemplu
Fie x=2/3, y=0,6665 si k=4. Sa se calculeze td .
Avem
x * =0,6666

y*

=y

13

2
0,6666
y y*
x x* 3
y
0.
x

0,0001
y*
x*
0,6666

td

0.6666
2
0,6666
3

0,0001 d

Aceasta eroare relativa a lui x-y se propaga in toate calculele ulterioare.


Propagarea erorilor la inmultire
Presupunem ca se efectueaza produsul numerelor
xy ( x * x )( y * y ) ( xy ) * y * x x * y

unde s-a neglijat produsul x y considerat ca avand un ordin de marime suficient de


mic. Eroarea la inmultire este
xy /( xy ) * x / x * y / y * x y .

Deci la inmultire erorile introduse initial se aduna. Pot aparea noi erori, deoarece
produsul xy poate avea un numar de cifre semnificative mai mare decat cel admis,
necesitand o noua rotunjire. Notand cu p acesta noua eroare, vom obtine eroarea totala
tp la inmultirea a doua numere
tp x y p ,

iar ca margine a erorii


tp x y p 15 10 k

acoperitoare deoarece erorile se compun dupa legi probabilistice.


Eroarea totala la calculul expresiei E ( x y ) z a carei valoare aproximativa este
( x* y * ) z *

este

tE x * /( x * y * )x y * /( x * y * )y s p z ,

cu marginirea
tE 15 10 k [( x * y * )] / x * y * 3] .

Propagarea erorilor la impartire


Presupunem ca se efectueaza impartirea numerelor

14

x* x
x* x
2
x / y ( x x ) /( y y ) *

1 y / y * y / y * ....
*
y 1 y / y
y
*

Deoarece seria este convergenta, exprimand-o liniar, obtinem


x* x x*
x/ y * * 2 y .
y
x
y*

Eroarea la impartire este


x/ y
*

x /y

x y
* .
x*
y

Notand cu j noua eroare datorata impartirii si cu tj eroarea totala la impartirea a doua


numere obtinem
tj x y j .

2.4 Norme de vectori si matrice


Calculul erorilor implica de obicei calculul de distante in anumite norme asa incat ne
vom referi in continuare la principalele tipuri de norme pentru vectori si matrice.
Fie V un spatiu vectorial : in cursul de fata ne vom referi la V ca fiind R n sau C n .
Norma unui vector x V este aplicatia
1.

x 0

si

2.

x x

3.

x y x y

. : V R ,

satisfacand axiomele :

x 0 x 0;

, scalar din R sau C.

Exemple de norme ale unui vector utilizate in curs

max xi

norma maximum sau norma infinit

i 1, n

xi

xi

norma-1

i 1

x
i 1

1/ 2

norma euclidiana

Fie An multimea matricilor de forma n n cu elemente reale sau complexe.

15

Norma unei matrice A An este o aplicatie

. : An R

care satisface axiomele 1-3 si

in plus avem
4.

A B A B

5.

A x A x

, unde x este un vector.

Normele care satisfac 5 se zic compatibile cu norma vectorului.


Exemple de norme ale matricelor :

max a ij

max aij

[ ( A* A)]1 / 2 unde A* AT (A- conjugat transpus), max i , unde


i

i sunt valorile proprii ale matricei si se numeste raza spectrala a matricei.

CURS 3
Rezolvarea numerica a ecuaiilor neliniare
3.1 Introducere
n multe probleme se poate ajunge la o etap de rezolvare n care se cere rezolvarea unei
ecuaii neliniare (numit uneori i ecuaie transcendent) pentru care nu exist o soluie
analitic. Vom nota cu x 0 soluia exact pentru care are loc:
f ( x0 ) 0

unde f (x ) este o funcie analitic cunoscut de o variabil real f : [a, b] R Soluia


calculat numeric este o soluie aproximativ (notat cu x a) i trebuie s fie cuprins n
intervalul de definiie a funciei f , deci x a [ a, b] i:
f ( xa ) 0

16

Sub noiunea de ecuaii algebrice neliniare se neleg acele ecuaii care conin
necunoscut la puterea diferit de unu, de exemplu:
n

y a0 a1 x a2 x 2 ... an x n ai x i ,

unde n1.

i 0

Sub noiunea de ecuaii algebrice transcendente se neleg acele ecuaii din care
nu poate fi obinut soluie analitic n mod evident,de exemplu:

ecuaiile iraionale de tipul

ecuaiile exponeniale

ecuaiile logaritmice

trigonometrice

8 1 x

1 x

,
n

y a0 e b0 x a1 e b1x ... an e bn x ai e bi x ,
i 0

y ai log bi x

(unde i= 0,1,...,n) ,

i 0

y a0 (ak cos kx bk sin kx) ( la care k=0,1,...,n),


k 1

Este cunoscut faptul c pentru n=1 (ecuaie liniar) i n=2 (ecuaie ptrat), exist
formule exacte de rezolvare. Pentru n=3 i n=4 exist formulele Cardano i Ferrari de
determinare a soluiilor. Pentru n>4 nu exist formule de determinare a soluiilor (metode
exacte), dect numai pentru anumite cazuri particulare. De obicei rezolvarea unei ecuaii
algebrice pentru n>4 se face prin metode iterative de calcul.
Conform unei teoreme importante din algebra, orice ecuaie algebric are cel puin o
rdcin real sau complex.
La scrierea unei ecuaii n form canonic vom avea aceleai rdcini ca i pentru ecuaia
iniial, ns n acest caz pot aprea i rdcini suplimentare.
n general astfel de ecuaii nu au rdcini exacte. Din aceast cauz se
determin o aproximaie a rdcinilor, procednd astfel:
a)

se separ rdcinile astfel nct un interval s conin o singur rdcin

b) se mbuntete aproximaia ct de mult se poate (sau cere problema)

17

Teorema 3.1
Dac

f :[a, b] R, continu pe [a, b], are semne contrare la capetele

intervalului, adic

f (a ) f (b) 0

atunci (a, b) cu f ( ) 0 adic ecuaia f(x) = 0

are soluie n acest interval.


Teorema 3.2
Dac o funcie este continu i strict monoton pe un segment oarecare [a,b], i
f(a)f(b)<0, atunci pe acest segment exist o rdcin i numai una singur.
Deci, rdcina este unic, dac exist derivata de ordinul nti i aceast derivat i
pstreaz semnul constant n interiorul acestui interval (a,b), adic f ' ( x) 0 (sau
f ' ( x) 0 ) pentru a x b .

n caz contrar, este posibil ca n intervalul dat s existe mai multe rdcini sau
rdcini pot s existe chiar dac f (a) f (b) 0 .

y=f(x)

f(a)

f(x)>0

b
x
f(b)

a
0
f(a)

y=f(x)

Nici chiar cele mai simple ecuatii nu admit solutii care sa fie exprimabile prin expresii
rationale sau radicali. Din acest motiv ar fi imposibil sa calculam solutiile ecuatiilor
printr-un numar finit de operatii artitmetice. De aceea este nevoie de metode iterative,

18

f(b)
b

adica de o procedura care genereaza o secventa infinita de aproximatii {xn }nN astfel
incat

lim xn l
n

unde l este o radacina a ecuatiei.


Evident in cazul unui proces iterativ se doreste convergenta, dar mai mult de atat o
convergenta rapida, cand este posibil. Conceptul de baza pentru viteza de convergenta
este ordinul de convergenta.
Definitie 1.1 Spunem ca xn converge la l (cel putin liniar) daca
x n l en

(3.1)

unde {en } este un sir pozitiv ce satisface


en 1
c , 0 c 1.
n e
n

lim

(3.2)

Daca relatiile (3.2) au loc cu egalitate in (3.1) atunci c se numeste eroare asimptotica.
Expresia cel putin, se leaga de faptul ca avem doar inegalitate in (3.1), ceea ce dorim in
practica.
Definitie 1.2 Spunem ca xn converge catre l (cel putin) cu ordinul p 1 daca (3.1) are
loc cu

en 1
c, c 0
n e p
n

lim

Convergenta de ordinul 1 coincide cu convergenta liniara, in timp de convergenta p>1


este mai rapida. In ultimul caz nu avem o restrictie pentru c: odata ce en este sufficient
de mic ordinul p va avea grija de convergenta.
Spunem ca sirul {xn }nN converge liniar catre l daca exista o constanta c 1, p N
astfel incat
x n1 l c xn l

n>p.

(3.3)

Sirul {xn }nN converge patratic catre l daca exista C si p astfel incat
xn 1 l C xn l

(3.4)

19

Sirul {xn }nN converge superliniar catre l daca exista un numar natural p si un alt sir

n 0 astfel incat
{ n }nN cu lim
n
x n 1 l n x n l

, n>p

(3.5)

3.2 Metode iterative de rezolvare a ecuatiilor neliniare


Fie ecuatia
f ( x ) 0 x [ a, b ] .

(3.7)

in care f este o functie continua cu valori reale.


Presupunem ca ecuatia admite o solutie reala l, izolata pe acest interval si se doreste
gasirea ei. Vom presupune ca functia f(x) este neliniara , caz in care nu avem o regula sau
o teorema care ce furnizeaza rezultate precise in aceasta directie.
Astfel se vor aplica metode care sa returneze aproximatii ale solutiei, sau intervale de
localizare a solutiei exacte. Prin radacina aproximativa a ecuatie (3.7) vom intelege o
valoare x ' apropiata de valoarea exacta l . O astfel de valoare poate fi definita in doua
moduri :numarul x ' cu proprietatea
unde

x x ' ( 0)

sau numarul x ' cu proprietatea ,

va desemna eroarea de aproximare.

Unele din metodele cele mai eficiente de gasire a unei solutiei aproximative pentru
ecuatia (3.7) sunt metodele iterative.
Aceste metode furnizeaza un sir de aproximatii {xi }i 0 ce tinde la l , in anumite
conditii.
Ca orice metoda iterativa presupune 3 aspecte importante:
-

alegerea unei conditii intiale pentru solutia ecuatiei

relatia de iteratie ce sta la baza calcului sirului de aproximatii

conditii de oprire a procesului iterativ de calcul

3.2.1 Metoda interativa Newton (metoda tangentei)


Descrierea metodei

20

Este una din metodele iterative cele mai utilizate in calculul solutiei unei ecuati neliniare.
Fie ecuatia
f ( x ) 0 , x [ a, b ] .

(3.8)

Presupunem ca ecuatia admite o solutie izolata pe [a,b], l , adica f ( a ) f (b) 0.


Presupunem urmatoarele conditii pentru f
-

f continu pe [a,b]

f este derivabila de doua ori pe [a,b] si derivate a-2-a pastreaza semn constant pe
[a,b]

derivata I nu se anuleaza pe intervalul specificat

Metodele iterative vor furniza practic un sir de aproximatii {xn }nN ce tinde catre
radacina l .
In analiza acestor metode un rol important il are modalitatea de cuantificare a rapiditatii
cu care sirul tinde catre limita.
Ordinul de convergenta va indica numarul de iteratii ce trebuie efectuate pentru a atinge o
anumita precizie, data uneori si de eroarea de aproximare. Metodele cu ordin de
convergenta mai ridicat tind sa efecueze mai multe operatii pe iteratie.
Numele de metoda tangentei deriva dintr-o interpretare geometrica a metodei, care
consta practice in determinarea sirului de aproximatii ale solutiei prin trasarea tangentei
la curba graficului functiei f, in punctele corespunzatoare solutiei anterioare ale ecuatiei,
noua aproximatie fiind punctul de intersectie al acestei tangente cu axa OX.

21

Metoda lui Newton fiind o metoda iterativa vom analiza pe rand cele trei aspecte amintite
la paragraful anterior. O prima problema ar fi alegerea conditiei initiale, problema care va
influenta evident si convergenta metodei.
S-a demonstrat ca o buna alegere a lui x0 pentru care metoda converge ar fi sa avem
indeplinit urmatorul rezultat.
Teorema 3.3 Daca f (a ) f (b) 0 , f ( x) f ( x0 ) 0 , x0 [ a, b] , f ' , f ' ' pastreaza semn
constant pe [ a, b] atunci sirul {xn }nN este convergent catre solutia ecuatiei (3.8).
Pentru usurinta vom alege in aplicatii unul din capetele intervalului [a,b] care respecta
relatia de mai sus.
Daca vom urma rationamentul geometric descris mai sus, la pasul 1, deducem urmatoarea
relatie de iteratie:
x1 x0

f ( x0 )
.
f ' ( xo )

Continuand algoritmul, metoda lui Newton construieste astfel un sir de aproximatii


successive ale lui l cu ajutorul relatiei de recurenta:

xn 1 xn

f ( xn )
, n 0,1,...
f ' ( xn )

(3.9)

unde xn 1 este abscisa punctului de intersectie cu axa OX a tangentei la graficul functiei


f in punctele de coordonate ( x n , f ( xn )) .
Se obtine astfel un sir de aproximatii x0 , x1 ,...., xn , xn1 ce in anumite conditii
converge la la l .
O alta problema ar fi stabilirea conditiilor de oprire a procesului iterativ. Una din conditii
ar fi indeplinirea relatiei:
l xn 1 eps

(3.10)

dar oarecum ineficienta in aplicatii deoarece nu se cunoaste valoarea lui x * .


O conditie practica ar fi relatia
x n xn eps

unde eps reprezinta termenul eroare stabilit la inceputul problemei

(3.11)
in anumite situatii..

22

Cu alte cuvinte procesul iterativ se opreste cand diferenta in modul a doua aproximatii
succesive este mai mica decat termenul eroare eps- dat.
Relatia de mai sus revine tinand cont de (3.9)
f ( xn )
eps
f ' ( xn )

(3.12)

Metoda lui Newton conduce la urmatorul algoritm


Algoritm
Intrari:

f =functia din metoda


fd = derivata functiei f
eps = precizia
nr_max = numarul maxim de iteratii admis

Iesiri

x = solutia aproximativa indeplinand eps sau nr_max;

k 0
x0 x

x x0
cat timp

f ( x0 )
fd ( x0 )

x x0 eps

si k nr _ max

{
k k 1
x0 x
x x0

f ( x0 )
fd ( x0 )

}
}
Daca pe parcursul procesului iterativ se anuleaza derivata functiei atunci se
executa o iteratie de salvare in care corectia radacinii se calculeaza fara a imparti la
derivata functiei. Aceasta abordare are avantajul ca rezolva si zerourile de ordin superior,
in care functia si prima ei derivata au zerouri comune.
23

Observatie Metoda se aplica doar in situatiile cand se poate calcula derivata


functiei.
Marele avantaj al metodei Newton este rata mare de convergenta. In apropierea
solutiei exacte, se asigura practic dublarea numarului de cifre exacte ale solutiei calculate
la fiecare iteratie. Aceasta proprietate remarcabila este "cartea de vizita" ce recomanda
metoda Newton ca fiind cea mai eficienta cale de rezolvare a unei ecuatii neliniare pentru
care este posibila evaluarea derivatei f '(x).
Metoda Newton are proprietati locale de convergenta foarte bune, dar se poate
comporta lamentabil la nivel global. In situatiile din urma metoda Newton poate fi
aplicata ca o procedura terminala, pentru rafinarea eficienta si foarte rapida a unei
aproximatii obtinute prin aplicarea, in prima faza, a unei alte metode, mai putin sensibile
din punctul de vedere al convergentei dar, in principiu, mai lenta.
Convergenta metodei Newton este de ordinul 2, astfel daca ek xk r
reprezinta eroarea datorata aproximarii lui
ek 1 C ek

r cu xk

atunci

, unde

Astfel daca C este 1 se va dubla acuratetea aproximatiei calculata la fiecare iteratie.


Astfel daca e0 0.001 se astepata ca e1 sa fie de ordinul lui 0.000001.
Aplicaie la metoda NEWTON-RAPHSON (algoritmul lui HERO)
Fie a > 0 =>

a este rdcina ecuaiei x k a 0

Conform metodei Newton-Raphson avem


f ' ( x) k x k 1 0
f ' ' ( x) k (k 1) x k 2 0, x (0, )

Graficul funciei
f ( x) x k a este

deci ecuaia are soluie unic


R, 0

24

y
Aplicnd formula tangentelor se obine

x nk1 a
x n x n 1
, n 1,2,
k x nk11
sau transformnd
xn

Y(,0)

1
a
(k 1) x n 1 k 1 , n 1,2,
k
x n 1

A(0,-a)

Pentru k=2 se obine rdcina de ordinul 2


numit

xn

1
a
x

, n 1,2,
2 n1 x

n1

i formula lui HERO

iar pentru k=3


xn

1
a
2x

, n 1,2,
n1 x 2
3

n1

25

Observaie. Se poate demonstra c doar pentru x0 > 0 procesul este convergent.


Cod de program n Matlab metoda lui Newton
function [rez , iteratii , x] = metoda_tangentei ( p 0, epsilon, N 0, f , fderivat )
% funcie care determin o soluie a ecuaiei

f (x) = 0

cu

metoda tangentei (Newton)


% cunoscnd aproximaia iniial

p0

cu precizia epsilon i

numrul maxim
% de iteraii N 0
% se mai cunoate i fderivat (derivata I a funciei f)
% funcia returneaz n -> rez : soluia
% -> iteratii :numrul de iteraii
% ->

x :irul

de aproximri

i = 1;

x = [ p 0];

while (i <= N 0)
p = p 0 feval ( f , p 0)/feval ( fderivat , p 0);
x = [ xp ];

if (abs ( p p0) < epsilon)

rez = p;
iteratii = i;

return
end
i = i 1;
p 0 = p;

end
iteratii = N 0;

rez = 0;

Exemplul 1
S se rezolve ecuaia

3
x x 1 = 0 , x [ 2, 1]

prin metoda lui Newton cu 5

zecimale exacte.
Soluie:

26

Notm

f ( x) = x x 1 .

f (x ) - continu
f ' ( x) = 3x

pe [ 1,2] este pozitiv deci funcia este cresctoare;

f " ( x) = 6 x

pe [ 1,2] este negativ deci funcia este concav (nu ine

apa).
Mai nti s observm c f (1) f (2) < 0 deci ecuaia admite cel puin o soluie
pe intervalul (1,2) .
O reprezentare grafic ar ajuta mai mult.
1

-1

-2

-3

-4

-5
-2

-1.9

-1.8

-1.7

-1.6

-1.5

-1.4

-1.3

-1.2

-1.1

-1

Fig. 13.3
Conform metodei lui Newton relaia ce genereaz aproximaiile pentru soluia
ecuaiei este:
x n 1 = x n

x n3 x n 1
3 x n2 1

Pentru a alege condiia iniial s observm c

f " ( x ) f ( 2) > 0

deci x 0 = 2 .
nlocuind pe rnd n relaia (1) n = 0,1,2,... obinem un ir al aproximaiilor
soluiei ecuaiei:
x 0 = 2

x1 = 1.545

x 2 = 1.360

27

x3 = 1.32520

x 4 = 1.32471
x5 = 1.32471

Se observ c irul aproximaiilor va tinde spre valoarea de -1.32471. Deci


aceast valoare va fi o bun aproximaie pentru soluia exact a problemei.

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 ( xn 1 )
.
x n 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 A(a, f (a )) , B(b, f (b)) . 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 ( x k )), 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
28

f ' ' ( x ) f ( x0 ) 0 , x0 [ 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 )

ba
f (b) f (a )

si axa OX, cu ecuatia y 0 .


Obtinem
x2 a

f (a )
(b a )
f (b) f (a )

sau

x2 x1

f ( x1 )
( x0 x1 ) ,
f ( x0 ) f ( x1 )

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

xn1 xn

f ( xn )
( x0 x n )
f ( x0 ) f ( x n )

(4.3 )

Inlocuind in formula lui Newton de iteratie f ' ( xk ) cu aproximanta

f ( x k ) f ( x0 )
.
x k x0

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

29

y
A
f(a)

b
0

f(b)
B

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:
x n 1 x n 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


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

f '

este marginita adica

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

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


Avem

xn xn 1

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

f ( x n1 )( x n 1 a ) ( f ( x n 1 ) f ( a ))( x n x n 1 )

f ( xn 1 )

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

30

Deoarece f (l ) 0 urmeaza
f (l ) f ( xn1 )

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

Alicand teorema lui Lagrange avem


(l x n 1 ) f ' (l n 1 ) ( x n x n 1 ) f ' ( x n*1 )

unde l n 1 ( x n 1 , l ) si xn*1 (a, xn 1 ) .


Deci
(l xn 1 ) f ' (l n 1 ) [(l xn ) ( x n x n 1 )] f ' (l n 1 )
(l xn ) f ' (l n 1 ) ( x n x n 1 ) f ' (l n 1 ).

Deci egalitatea de mai sus devine


(l x n ) f ' (l n 1 ) ( x n xn 1 )[ f ' ( xn*1 ) f ' (l n 1 )] ,

adica
l xn

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

x n xn 1

Deoarece x n*1 , l n 1 [a, b] avem si


f ' ( x n*1 ) f ' (l n 1 ) 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
31

Atunci daca f ' ' (a) f (a ) 0 atunci c=b; k=0;


altfel c=a; k=1;
repeta
d=c;
daca k=0 atunci
cd

f (d )
(d a)
f (d ) f (a)

altfel
cd

pana cand

f (d )
(d b)
f (b) f (d )

c d eps

Cod de program n Matlab - metoda secantei


function [rez , iteratii ] = metoda_secantei ( p 0, p1, epsilon, N 0, f )
% funcie care determin o soluie a ecuaiei

f (x) = 0

cu

metoda secantei
% cunoscnd aproximaiile iniiale

p0

si

p1 cu precizia

eps i numrul maxim


%

de iteraii N 0

funcia returneaz n -> rez :soluia

% - > it : numrul de iteraii


i = 2;

q 0 = feval ( f , p 0);

q1 = feval ( f , p1);

while (i <= N 0)
p = p1 ( q1* ( p1 p 0))/( q1 q 0);

if (abs ( p p1) < eps )

rez = p;
iteratii = i;

return
end
i = i 1;
p 0 = p1; q 0 = q1;

32

p1 = p; q1 = feval ( f , p );

end
it = N 0;

Exemplul 3
Gsii soluia real a ecuaiei

x 5x 1 = 0

prin metoda secantei cu 5 zecimale

exacte pe intervalul [1,0] .


Soluie
Notm cu

f ( x) = x 5 5 x 1 .

Se verific mai nti existena unei soluii reale pe acest interval


f (1) f (0) < 0,

deci exist o astfel de soluie.


f ' ( x) = 5 x 4 5 > 0 ,

funcie cresctoare pe (1,0)

f " ( x ) = 20 x 3 < 0 , funcie descresctoare pe (1,0)


s scriem acum relaia care genereaz irul de aproximaii
x n1 = x n

f ( xn )
( x n x0 ), n = 1,2,...
f ( xn ) f ( x0 )

Se observ c la pasul 1 se calculeaz iteraia de ordin 2, care depinde de


aproximaiile de ordin 0 i de ordin 1.
Cine sunt x 0 , x1 ? Conform teoriei alegem x 0 acel capt al intervalului care
respect relaia f '' ( x) f ( x0 ) > 0, x (1,0) , iar x1 cellalt capt.
Deci x0 = 1 i x1 = 0.
Cu aceste valori pentru n = 1 obinem:
x 2 = 0.16666
x3 = 0.19888

x 4 = 0.19968

Se observ c diferena dintre 2 aproximaii succesive devine tot mai mic, ceea
ce reprezint un semnal pentru oprirea calculului.

33

-1

-2

-3

-4

-5
-1

-0.9

-0.8

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

Fig. 13.4.
Din reprezentarea grafic a funciei se poate observa poziionarea cu aproximaie
a soluiei exacte a ecuaiei.

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

ab
.
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.

34

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 ] ,....., [ a n , bn ] si mijloacele acestora ce vor reprezenta si aproximatiile

solutiei ecuatiei.
xn

a n bn
, n0.
2

Selectarea acestui interval se face conform conditiilor:


Daca f (an ) f ( xn ) 0 atunci
an 1 an , bn 1 bn .

Se observa ca

bn1 an1

bn an
b a
.... 0 n1 0
2
2

si

l xn bn1 a n1

b0 a0
2 n1

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 {a n },{bn } sunt convergente la l .

35

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


eps l x

x este data de

ba
.
2n

Convergenta
Metoda construete irul de iterate (puncte) x1 , x 2 ,..., x n ..
La fiecare pas (iteraie) avem:
| xi |

bi ai
2

rezult:
36

| x1 |

| x 2 |

ba
2

ba
22

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

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
n
2

lim bn lim a n lim


n

Dar

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

lim
n

Cum irul {an} este cresctor i mrginit de pe cnd irul {b n} 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 (a n ) * f (bn ) 0

Pentru a demonstra c numrul este soluia cutat trecem la limit inegalitatea de


mai sus

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

lim f (a ) * lim f (b ) 0
n

37

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], x i este cea mai bun aproximare a soluiei rezult c :
xi 1

1
xi
2

Dac condiia de finalizare a calculelor iterative este

bn a n

, atunci prin

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


ba

n log 2

Algoritm-metoda bisectiei
Intrari :

a,b- capetele intervalului


f- functia continua;
eps- precizia;

Iesiri aproximanta solutiei ecuatie data de mijlocul intervalului [ a n , bn ] , c , cu


a n bn eps

it 1 trunc ((log(b a )) log(eps )) / log(2));

for k=1:it
c

ab
;
2

daca f (c) 0 atunci a c;


b c;

altfel daca f (b) f (c) 0 atunci

a c;

altfel b c;
c

ab
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.

38

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.
Cod de program in Matlab metoda njumtirii intervalului
function [c, err , yc] =bisect ( f , a, b, eps )
ya = feval ( f , a );
yb = feval

( f , b);

if ya * yb > 0
break
end

iteratii = 1 round (log (b a ) log (eps))/log (2);


for k = 1 : iteratii
c = (a b)/2;
yc = feval ( f , c);

if yc == 0

a = c;
b = c;

else if yb * yc > 0
b = c;
yb = yc;

end
if b a < eps , break,end
end
c = ( a b)/2;

err = abs(b a );
yc = feval ( f , c);

Exemplul 4
S se aproximeze soluia ecuaiei

e x2= 0

pe intervalul [1,1] prin metoda

njumtirii intervalului.
Soluie.
S notm cu

f ( x) = e

x2.

Funcia este continu pe intervalul [1,1] .

39

Din f (1) f (1) < 0 rezult c exist cel puin o soluie pe intervalul [1,1] . O
prim aproximaie a soluiei se face prin mprirea intervalului prin mijlocul lui, adic
x0 =

11
= 0.
2

Se observ c f ( x0 ) f (1) < 0 deci soluia va aparine jumtii de interval [0,1].


La o nou mprire a intervalului [0,1] prin punctul de mijloc x1 =

0 1 1
= se
2
2

1
1

< 0 , deci localizarea soluiei va continua pe intervalul 0, .


2
2

observ c f (0) f

1
2 = 1 , ne
2
4

Continund procedeul de njumtire a intervalului prin punctul

x2 =

restrngem tot mai mult n jurul soluiei exacte a ecuaiei. La o nou evaluare a funciei
1 1
1 1
f < 0 deci soluia exact se va gsi n intervalul ,
4 2
2 4

se observ c f

La acest

pas am putea face o aproximare a soluiei exacte prin mijlocul acestui ultim interval. Deci
1 1

3
x * = x3 = 2 4 =
2
8

Precizia aproximrii va fi dat de urmtoarea evaluare:


x * x3 <

1 (1)
2

= 1.25 10 1.

Pentru o precizie mai bun se poate continua algoritmul pe acelai principiu al


njumtirii intervalului pn se obine o precizie dorit

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 ( x n )

(4.3.1)
40

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 (4.3.1) 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 ( xn ) converge spre unica
soluie a ecuaiei x g (x ) cu [ a, b] .
Demonstraie.
Dac 1 i 2 sunt dou soluii distincte ale ecuaiei x g (x ) urmeaz c
| 1 2 | | g (1 ) g (2 ) | L | 1 2 | cu L 1 .

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


Avem
| x n 1 x n | | g ( x n ) g ( x n 1 ) | L | x n x n 1 | .

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

Deci

41

| x n p x n | | x1 x 0 | ( Ln p 1 Ln p 2 ... Ln )
Ln | x1 x 0 |
| x1 x0 |

1 Lp
1 L

Ln
.
1 L

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


Deoarece nlim
n

Deoarece irul ( x n ) verific criteriul lui Cauchy urmeaz c el este convergent spre
limita sa i cum g este funcie continu, deoarece este strict contractant, aceast
limit verific g () .
Dac x n [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
aparine intervalului [a,b].

Se poate evalua eroarea fcnd n s tind spre

| x n | | x1 x0 |

Ln
.
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
max | g ' ( x) | L 1

x[ a , b ]

g'

verific

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. Pentru funcia g ( x) x

1
1
, unde x 1 , g ' ( x) 1 2 , | g ' ( x) | c 1 ,
x
x

dar ecuaia x g (x ) nu are punct fix n intervalul considerat, deoarece


42

x g ( x)

1
0.
x

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

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

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

Propoziia 4.3.6

Fie o soluie a ecuaiei x g (x ) . Dac g ' este continu ntr-

o vecintate a lui i | g ' () | 1 , x0 , irul definit de x0 i xn 1 g ( xn ) nu


converge spre .
Dac | g ' () | 1 atunci irul ( x n ) poate converge sau diverge.
Pentru a determina in ce conditii sirul definit cu ecuatia xn1 g ( x n ) , 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 g ( x i ) g ( ) g ' ( ) * x i

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 contractiei asigura o convergnta liniara, iar numarul de iteratii este cu
atat mai mic cu ct M este mai aproape de zero.

43

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
x n cu proprietatea xn xn 1 eps ).

Date de iesire:

xn (aproximatie satisfacatore (determinata de eps) pentru punctul fix).


{ x0 x00 ;

x1 f ( x0 ) ;
ct timp x0 x1 eps executa
{ x0 x1 ;

x1 f ( x0 ) ;}
}
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)
- x00 (termenul initial al sirului)

44

- eps (eroare ce determina conditia de oprire: se calculeaza termenii sirului pna la


x n 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).


{ x0 x00 ;

x1 f ( x0 ) ;

n=1
ct timp x0 x1 eps si (n<Nmax) executa
{ x0 x1 ;

x1 f ( x0 ) ;
n=n+1
scrie ( x1 x0 )}
}
Teorema urmtoare asigur condiiile pentru convergena unui proces iterativ de punct fix

Teorema 4.3.6
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 p n g ( p n1 ) va

converge la un punct fix unic p [ a, b] ;

45

b) Dac

g ' ( x) 1

pentru orice x [a, b] atunci p n g ( p n1 ) nu va converge la

p.

46

CURS 5
Rezolvarea sistemelor de ecuatii liniare
5.1 Aspecte generale
Rezolvarea sistemelor cu un mare numr de ecuaii liniare reprezint unul din
domeniile n care calculatoarele numerice i-au dovedit din plin eficiena. Problema
rezolvrii sistemelor de ecuaii liniare este foarte des ntlnit n simularea numeric.
Enumerm cteva situaii: interpolare cu funcii spline cubice, rezolvarea sistemelor de
ecuaii neliniare cu ajutorul metodelor iterative care au la baz liniarizarea ecuaiilor,
discretizarea ecuaiilor difereniale ordinare cu condiii la limit, discretizarea ecuaiilor
cu derivate pariale.
Fie sistemul

a11 x1 a12 x2 .... a1n xn b1


a x a x .... a x b
21 1 22 2
2n n
2

........................................
an1 x1 an12 x2 .... a2 n xn bn

(5.1.1)

Forma matriceala a sistemului este :

AX B
unde

47

a11 a12 . .. .a1n


a a ... . a
21 22 2n
. .. .. ..... . ..

x1
x
2
...


xn

an1 an2 ... . ann

b1
b
2
...


bn

A- matricea cu n linii si m coloane, numita si matriea sistemului


X- vector cu n elemente, numit vectorul necunoscutelor;
B- vector cu n elemente, numit vectorul termenilor liberi.
In cazul general problema se poate rescrie in forma
n
aij x j bi , i 1, m
j 1

Vom distinge trei situaii.


a. Pentru m < n sistemul este subdeterminat, avem mai puine ecuaii dect
necunoscute. n general, vor trebui alei nm parametrii pentru a obine soluie.
b. Pentru m = n i detA 0 sistemul este compatibil determinat. Sistemul are o
soluie unic. Este cazul cel mai des ntlnit. Pentru m = n i detA = 0 sistemul
poate fi compatibil nedeterminat, cu o infinitate de soluii posibile, sau
incompatibil, cu nici o soluie.
c. Pentru m > n sistemul este supradeterminat, caz n care se caut o soluie care s
verifice

cel

i 1

j 1

mai

bine

ecuaiile

sensul

minimizrii

reziduului

R (bi aij x j ) 2 .
O matrice L R nn , cu lij 0 pentru toti i j se numeste inferior triunghiulara.
O matrice U R nn , cu uij 0 pentru toti i j se numeste superior triunghiulara.
Sistemul AX B se numeste inferior (superior) triunghiular daca matricea A este
inferior (superior) triunghiulara.

48

Sistemul admite solutia unica X R n , daca matricea A este inversabila caz in care
solutia se exprima X A 1 B. Dar relatia nu constituie o metoda practica de rezolvare a
sistemelor, deoarece calculul inversei unei matrici de dimensiuni mari este o problema ce
necesita volum mare de calcul.
Algoritmii de rezolvare a sistemelor de ecuatii liniare se grupeaza in 2 mari clase:
-

Algoritmi directi (Cramer, Gauss, Gauss-Jordan)

Algoritmi iterativi (Jacobi, Gauss-Seidel)

Algoritmii directi in general daca erorile de rotunjire lipsesc conduc la solutia exacta a
sistemului. Metodele directe aduc sistemul prin transformari de echivalenta, la un sistem
particular (diagonal, triunghiular, etc), care se rezolva prin metode elementare.
Algoritmii iterativi pornesc de la aproximatie initiala X 0 , si apoi pe baza unei relatii de
iteratie construiesc un sir de aproximatii X k , k 1,2,3,... convergent in anumite conditii
la solutia exacta.
Procesul iterativ se opreste cand aproximatia de ordin k se incadreaza intre limitele unei
precizii stabilite initial.
Alegerea uneia sau alteia dintre aceste metode tine cont desigur si de complexitatea
metodei.
Complexitatea metodelor directe este de O(n3), pe cand a celor iterative O(n2), ceea ce le
recomanda pe cele din urma in cazul sistemelor mari de ecuatii (>50), daca se asigura si o
convergenta rapida.
Nu trebuie uitat c, la reprezentarea numerelor n calculator nu putem reine dect un
numr finit de cifre, iar erorile de rotunjire se propag. Se poate ajunge n situaia ca din
cauza acestor erori, determinantul s devin egal cu zero sau s aib o valoare foarte mic
n modul. Complexitatea implementrilor prezente n bibliotecile matematice se
datoreaz n mare parte tehnicilor de evitare a acestei situaii, dar totodat i eforturilor de
minimizare a memoriei utilizate i a timpului de calcul

5.2 Metode directe de rezolvare a sistemelor liniare


Metoda eliminarii gaussiene

49

Este o metoda in care necunoscutele x1 , x2 ,...., xn se elimina succesiv, sistemul


transformandu-se intr-un sistem echivalent superior triunghiular. Astfel, prima
necunoscuta calculate va fi cea de ordin n, xn , apoi din penultima ecuatie se calculeaza
xn 1 , functie de xn , s.a.m.d se calculeaza pe rand toate necunoscutele pe masura ce

inaintam spre prima ecuatie a sistemului.


Cum se ajunge la forma superior triunghiulara a sistemului de ecuatii (5.1.1).
Prin transformari liniare efectuate asupra elementelor matricei A se aduce primul element
(elementul de pe diagonala principala) la valoarea 1, si celelalte elemente de sub acesta la
valoarea 0, eliminand astfel necunoscuta x1 din ecuatiile de ordin i 2,3,4,..., n .Se ia
apoi a doua coloana si se precedeaza la fel eliminand necunoscutele de ordin doi, x2 din
ecuatiile de ordin i 3,4,..., n .
Algoritmul continua cu eliminarea in acelasi mod a necunoscutelor de ordin 3,4,,n-1.
Sa urmarim acum cum se fac aceste eliminari si ce forme capata sistemul (5.1.1)
La primul pas, in conditiile in care a11 0 , se inmulteste prima ecuatie cu factorul

a i1
, i 2,3,..., n , si se aduna la ecuatiile de ordin i 2,3,..., n .
a11
Obtinem

a11' x1 a12' x2 .... a1' n xn b1'

a222 x2 .... a22n xn b22

...............................

an22 x2 ..... ann2 xn bn2

Elementele matricii A au suferit transformarile:


a1' j a1 j ( j 1,2,..., n), bi' bi , i 1,..., n
aij2 aij'
bi2 bi'

ai1
a1' j ( j 1,2,..., n)
a11

ai1 '
b1
a11

50

2
0 se elimina x2 din ecuatia i (i 3,4,..., n) , iar la pasul
La pasul 2 presupunem ca a 22

k 1 ( k 2,...., ( n 2)) obtinem

a11' x1 a12' x2 ....... a1' k xk ....... a1' n xn b1'

a222 x2 ....... a22k xk ...... a22n xn b22

................................

akkk xk ...... aknk xn bkk


................................
aikk xk ........ aink xn bik

...................................

ankk xk ......... annk xn bnk

unde

k
i k 1
aij ,

aijk 0
i k 1, k n 1

k -1
k 1
a k 1 ai,k 1 ak 1, j , i, j k 1
ij
akk11,k 1

Astfel dupa

parcurgerea celor (n-1) pasi, sistemul se transforma in sistemul

triunghiular echivalent:

a11' a12' x2 ........... a1' k xk ........... a1' n xn b1'

a222 x2 ........... a22k xk ........... a22n xn b22

......................................

akkk xk ...... aknk xn bkk

.............................

annn xn bnn

n
0 obtinem
In conditiile in care ann

51

bnn
xn n
ann

xk bkk

j k 1

k
kj

1
x j k , k (n 1),....1
a kk

Metoda prezentata mai sus in forma aceasta prezinta deficiente in etapa


impartirilor la elemtentele de pe diagonala principala aii , i 1,2,..., n . Daca aceste
elemente sunt zero sau sunt in modul cu valori apropiate de zero metoda esueaza.
In primul caz metoda esueaza, orice program va returna eroare datorita impartirii la
zero. In al doilea caz se pot inregistra erori destul de mari, prin impartiri la valori
foarte mici, care prin acumulare pot denature rezultatul.De aceea trebuie gasit pe
pozitia elementului diagonal, numit si element pivot, un element nenul si in modul cu
o valoare sufficient de mare. Acest procedeu de permutare a liniilor in vederea
aducerii elementului maxim in valoare absoluta in pozitia diagonalei principale, se
numeste pivotare.
Metoda lui Gauss se poate realiza printr-un process de pivotare partiala sau
pivotare totala.
Procesul de pivotare partiala consta in cautarea pivotului de modul maxim printre toti
ceoeficientii aflati sub linia k si pe coloana k si aducerea lui pe pozitia (k,k) prin
permutari de linii
aii max aikk
k j n

Daca pivotul se gaseste pe linia p se permute linia p cu linia k.


Daca matricea este diagonal dominanta pivotarea nu mai este necesara.
Pivotarea totala consta in cautarea pivotului de modul maxim printre toti coeficientii
aflati sub linia k si la dreapta coloanei k si aducerea lui pe pozitia (k,k) prin permutari de
linii si coloane.
Observatie La metoda cu pivotare partiala, unde se fac doar permutari de linii, ordinea
necunoscutelor in fiecare ecuatie nu se modifica. In schimb la metodele cu pivotare totala
se impune memorarea permutarilor de coloane pentru a reconstitui la sfarsit ordinea
initiala a necunoscutelor.

52

Numrul de operaii necesare pentru obinerea soluiei prin procedeul de eliminare


gaussian se calculeaz uor. Evident, nu lum n considerare i operaiile legate de
permutarea elementelor n vederea gsirii pivotului parial sau total, deoarece acestea
depind de fiecare matrice n parte. De regul, se consider c mprirea reprezint o
singur operaie, n timp ce o adunare i o nmulire formeaz mpreun tot o operaie
(aproximativ acelai timp de calcul pe calculator). Amintindu-ne c operaiile se
efectueaz cu elementele matricei extinse A0, de dimensiuni n (n + 1), vom avea de
efectuat ntr-o etap s, n-s mpriri pentru a obine multiplicatorii m i,s. Numrul de
adunri i nmuliri este egal cu produsul numrului de valori luate de indicii i, j, adic (ns)(n+1-s). Rezult numrul de operaii la eliminarea Gauss
n 1

nG [(n s ) 2 2(n s )]
s 1

n 3 n 2 5n

3
2
6

Acest numr este foarte mic (ncepnd cu n >= 3) fa de nn! operaii cerute de regula lui
Cramer (cu determinanii calculai dup minori). La aceste operaii se adaug nc
aproximativ
1 (n 1) n(n 1) / 2 n 2 / 2 n / 2

operaii pentru retrosubstituire. Rezult numrul total de operaii pentru eliminarea


gaussian
nG

n3
n n3
n2
n2
3
3 3

Algoritm-Metoda Gauss
Intrri:

n = dimensiunea sistemului
A = matricea sistemului
b = vectorul termenilor liberi

Ieiri:

A = matricea sistemului triunghiular


b = termenii liberi ai sistemului triunghiular
x = vectorul necunoscutelor

{
pentru k 1 : n 1

53

pentru i k 1 : n
{
t aik / a kk
a i , k : n ai , k : n t a k , k : n

bi bi t bk

}
pentru i n : 1
{
suma

suma +

ai , i 1:n xi 1:n

xi (bi - suma) / aii

}
}.
Cod de program n Matlab metoda eliminrii gaussiene cu pivotare parial
function

[ x] =

Gauss1 (a )

% rezolv un sistem de ecuaii liniare cu metoda lui Gauss


cu pivot maximal pe coloana
% dac se cunoate matricea extins a sistemului
% funcia ntoarce n x soluia sistemului n cazul n care
sistemul are soluie
% altfel se ntoarce soluia vid

D =size (a );
n = D(1);

nlin = 1: n;
x = [];

for i = :1 n 1
p = i;

m = abs(a(nlin(i),i));
for j = i 1 : n
if (abs ( a (nlin ( j ), i )) > m )

m = abs (a(nlin( j ), i));


p = j;

54

end
end
if (a( nlin( p), i) == 0)
return
end
if ( nlin(i ) nlin ( p ))
ncopie = nlin(i);

nlin(i ) = nlin( p );
nlin( p) = ncopie;

end
for

j = i 1: n

m( nlin ( j ), i ) = a ( nlin ( j ), i )/a ( nlin (i ), i );

for k = 1 : n 1
a(nlin( j), k ) = a(nlin( j), k ) m(nlin( j), i) * a(nlin(i), k );

end
end
end
if ( a ( nlin ( n), n) == 0)
return
end
x (n) = a ( nlin( n), n 1)/a ( nlin( n), n);

for i = n 1 : 1 : 1
suma = 0;

for j = i 1 : n
suma = suma a(nlin(i), j) * x( j);

end
x(i ) = ( a ( nlin(i ), n 1) suma )/a ( nlin(i ), i );

end

Citirea sistemului de ecuaii sau altfel spus a matricei extinse a sistemului, poate fi fcut
i ea interactiv de ctre utilizator tot printr-un cod de program Matlab.
function

a = citire_sistem ()

55

% funcie care realizeaz citirea matricei extinse a unui


sistem liniar de ecuaii
% pe care o ntoarce n

n=

input( ' Dati numarul de ecuatii

si de necunoscute:n =' );

a = [];

for i = 1 : n
for j = 1 : n
fprintf( ' a[%d ][%d ] =' ,i,j);
a (i, j ) input (' ' )

fprintf( ' b[% d ] =' ,i);


b(i ) = input(

'

);

'

end
Pentru afiarea soluiilor s crem tot o funcie:
function afiare_soluie( x )
%

funcie

care

afieaz

soluia

sistemului

caz

sistemul are soluie


% altfel afieaz un mesaj de eroare corespunztor

n = length ( x );
if n == 0
fprintf (

'

Sistemul nu are soluie \n

'

);

else
for i = 1 : n
fprintf

i , x (i )

( ' x(%d)=%f\n

'

);

end
end

Bineneles pentru rezolvarea unei probleme concrete se vor apela cele trei funcii cu
numele i parametrii lor n fereastra de comand a mediului de programare Matlab, astfel

a = citire_sistem;
x = Gauss1( a );

56

afisare_solutie( x);

Exemplu 1 S se rezolve sistemul prin metoda eliminrii gaussiene cu pivotare parial


x1 5 x2 x3 = 2

x1 2x2 4x3 = 5

8 x1 x 2

= 8

Soluie
S aducem mai nti sistemul la forma diagonal dominant n care elementele
pivot (situate pe diagonala principal) sunt pe coloanele corespunztoare n modul valori
maxime.
Pentru aceasta vom permuta mai nti liniile 1 cu 3 apoi linia 2 cu 3 i obinem:
8 x1 x 2
= 8
x1 5 x 2 x3 = 2
x1 2 x 2 4 x3 = 5

Etapa nti: se identific elementul pivot, a11 = 8 , se mparte prima linie la valoarea
acestuia, apoi se elimin necunoscuta x1 din liniile 2 i 3. Eliminarea se face adunnd
mai nti linia 1 la linia 2, apoi tot linia 1 se adun la linia 3 pentru a elimina necunoscuta
i din ultima ecuaie.
x1 0.125 x 2 = 1
x1 5 x2 x3 = 2

x1 2 x 2 4 x3 = 5

x1 0.125 x 2

= 1

4.875 x 2 x3 = 1
2.125 x 2 4 x3 = 4

Etapa a doua: elementul pivot este a 22 = 4.875 . mprim linia a doua la acest element,
apoi eliminm necunoscuta

x2

din ecuaia 3.
x1 0.125 x 2

= 1

x 2 0.205 x3 = 0.205
2.15 x 2 4 x3 4

57

Eliminarea necunoscutei se face nmulind linia a doua cu 2.125, apoi o adunm la a treia
linie.
x1 0.125 x 2

= 1

x 2 0.205 x3 = 0.205

4.435 x3 4.435

Etapa a treia: dup mprirea la ultimul element pivot a33 , sistemul este adus la forma
final triunghiular superior i care permite calculul soluiilor. Obinem astfel prima
soluie x3 = 1 . Dup nlocuirea acestei soluii n ecuaia 2 obinem i x 2 = 0. n final
x6 = 1.1348

CURS 6
6.1 Condiionarea unei sistem de ecuatii liniare
Sistemele de de ecuaii liniare pot fi bine condiionate (cu solutie stabila) i ru
condiionate (cu solutie instabila). Stabilitatea soluiei se judeca n raport cu mici
perturbatii ale vectorului liber. Daca la modificari nesemnificative ale termenului liber,
solutia sistemului se modifica in aceeasi masura, atunci sistemul este bine conditionat,
avind solutie stabila; daca solutia se modifica esential, sistemul este rau condtionat si
are solutie instabila.
Un sistem este rau conditionat pentru o operatie determinata, efectuata printr-o metoda
determinata, atunci cind aceasta sensibilitate este mare. Aceasta definitie introduce
distinctia intre doua tipuri de de conditionare: un sistem poate fi rau conditionat pentru o
metoda particulara sau rau conditionat pentru o operatie particulara, oricare ar fi metoda
folosita.
Fie sistemul

58

x1

10 7 8 7 32

x
7 5 6 5 2 23

8 6 10 9 x 3
3
7 5 9 10 31
x
4
t
cu solutia (1, 1, 1, 1) si consideram sistemul perturbat, in care membrul drept este

foarte putin modificat, matricea ramanand nemodificata.

59

x x

10 7 8 7 1 1 32.1
x x
7 5 6 5 2 2 23.9

8 6 10 9 x x 3 .1
3 3
7 5 9 10 31.9
x x
4 4

cu solutia (9.2, 12.6, 4.5, 1.1) t .


Astfel spus o eroare de 1/200 in datele de intrare atrage dupa sine o eroare de 10/1 asupra
rezultatului, deci o marire a erorii relative de ordin 2000!
Sa consideram acum sistemul avand de data aceasta matricea coeficientilor perturbata

60

x x

10 7 8.1 7.2 1 1 32

x x
7.08 5.04 6 5 2 2 23

8 5.98 9.89 9 x x 3

3 3
6.9 4.9 9 9.98 31

x x
4 4
cu solutia (81, 137, 34, 22)t . Deci o variatie mica in datele de intrare modifica
complet rezultatul (solutia sistemului liniar). Matricea initiala este simetrica,
determinantul ei este 1 iar inversa ei este:

25 - 41 10 - 6

- 41 68 -17 10

10 -17 5 - 3 .

- 6 10 - 3 2

61

Sa comparam cele doua situatii. In primul caz cand A este matrice inversabila sa
comparam solutiile exacte x si x x ale sistemelor

Ax b
A( x x) b b
Fie . o norma matriceala.Din egalitatile x A 1b si
x A 1 b

Eroarea relativa a rezultatului

x
x

b Ax se deduce

este majorata in functie de eroarea relativa a datelor

prin

x
x

A A 1

b
b

In a doua situatie cand matricea variaza, avem de comparat solutiile exacte ale sistemelor

Ax b
.
( A A)( x x) b
Din egalitatea x A 1A( x x) se deduce
x

A 1 A x x

care se mai poate scrie


A
x
A A 1
.
x x
A

Definitia 6.1
Daca A este nesingulara, numarul
cond ( A) A A 1

(6.1)

se numeste numar de conditionare al matricei A.


Relatia (6.1) poate furniza informatii asupra stabilitatii sistemelor de ecuatii liniare.
Astfel daca matricea A a sistemului are numarul de conditie cond(A) 1 atunci
modificareasolutiei exprimata prin

x
x

este de acelasi ordin de marime ca si

62

modificarea in termenul liber definit de

b
b

. Altfel spus daca mici modificari se

produc in termenul liber, solutia se modifica si ea in aceeasi masura.


Sistemele cu matricea coeficientilor A avand numarul de conditionare cond(A) mic
sunt sisteme bine conditionate, stabile in solutie.
Fie sistemul de ecuatii

1.567 x 3.42 y 2.35

1.60 x 3.40 y 2.40


ale carei solutii x=1.64,y=0.060 au fost obtinute efectuandu-se calculele cu trei cifre
semnificative. Sistemul este slab conditionat deoarece modificari neinsemnate ale
coeficientilor produc variatii mari ale solutiilor.

Fig. 6.1
O imbunatatire a conditionarii se obtine daca se scade prima ecuatie din cea de a doua si
rezultatul se multiplica cu 100:

63

3.0 x 2.04 y 5

1.60 x 3.40 y 2.40


Solutiile acestui nou sistem x=1.63, y=0.06 sunt putin diferite de ale celui precedent, dar
modificarile coeficientilor nu le influenteaza in mod insemnat

Fig. 6.2
Dac considerm o incertitudine n coeficienii sistemului, banda de incertitudine a
rdcinii va fi larg i cu att mai larg cu ct pantele sunt mai apropiate (Fig.
6.1). n schimb, dac pantele sunt diferite, intersecia dreptelor este net i banda de
incertitudine este ngust.(Fig. 6.2 )
Un exemplu de matrice rau conditionata este matricea Hilbert

64

Numarul de conditionare creste odata cu n.

6. 2 Rezolvarea sistemelor de ecuatii liniare. Metode iterative.


Determinarea solutiei exacte a sistemului A X = b cu ajutorul unor metode de tip
iterativ este posibila numai dupa efectuarea unui numar nelimitat - teoretic infinit - de
iteratii sau pasi. Deoarece nici o metoda practica nu poate cicla la infinit, rezulta ca
metodele iterative determina doar o solutie aproximativa, aproximare prin trunchiere,
care se abate mai mult sau mai putin fata de solutia exacta X*, in functie de precizia de
calcul dorita
Pornesc de la o aproximatie initiala a solutiei sistemului, X ( 0 ) , si pe baza unei
relatii de iteratie se obtine un sir de aproximatii X k , k 1,2,..., n ale solutiei exacte X*,
convergent in anumite conditii la aceasta solutie. Convergenta metodei depinde in mare
masura si de alegerea conditiei initiale. Una din conditii, intalnita in aplicatii, este cand
diferenta dintre doua aproximatii successive in modul se incadreaza in limitele unei
precizii stabilite anterior, adica

X ( k 1) X

, k 1,2,..., n

cu

dat.

Fie sistemul in forma matriceala

AX b.

(6.1)

A- matrice cu n linii si n coloane, numita si matricea sistemului

65

X- vector cu n elemente, numit si vectorul necunoscutelor.


b- vector cu n elemente, numit vectorul termenilor liberi.
Metodele iterative aduc sistemul de la forma (6.1) la urmatoarea forma
X BX d

(6.2)

unde B M nn (R) se numeste matrice de iteratie si d R n se numeste vector de


iteratie. Astfel se construieste sirul aproximatiilor solutiei exacte pe baza unei relatii de
iteratie de forma
X ( k 1) BX ( k ) d , k 0,1,2,...., n.

(6.3)

Conditia pentru care sirul aproximatiilor converge la solutia exacta a sistemului X * ,

lim X ( k ) X *
k

revine

la

lim B ( k ) 0

conditia

sau

cu

alte

cuvinte

1,

unde

max bij , i 1,..., n .


i 1,..., n

j 1

6.2.1 Metoda iterativa Jacobi


Sa consideram sistemul liniar

a11 x1 a12 x2 .... a1n xn b1


a x a x .... a x b
21 1 22 2
2n n
2

........................................
an1 x1 an12 x2 .... a2 n xn bn

(6.2.1)

sau matriceal AX b , astfel incat det A 0 cu

66

x1
x
2
...


xn

b1
b
2
...


bn

Metoda aduce sistemul la forma (6.2.1), folosind descompunerea matricii sistemului:


A DC

unde D- matricea doagonala corespunzatoare matricii A, ce trebuie sa fie nesingulara,


adica det D 0. Reamintim ca matricea diagonala este matricea ce are pe diagonala
principala elementele matricii A, restul sunt 0. Determinantul unei astfel de matrici este
dat de produsul elementelor de pe diagonala principala.
Sistemul devine
DX CX b X D 1CX D 1 .

De aici rezulta si relatia de iteratie ce genereaza aproximatiile successive ale solutiei


exacte a sistemului.

X ( k 1) BX ( k ) d
k 0,1,..., n.

unde am notat B D 1C si d D 1b,

Alegerea conditiei initiale X ( 0 ) ramane in seama utilizatorului.


Asa cum s-a specificat si mai sus o conditie suficienta de convergenta a procesului
iterativ Jacobi este ca norma matricii de iteratie sa fie subunitara
n

unde B

max bij .
i 1,.., n

j 1

Relatia revine la a scrie


n

aij

j 1

aii

max bij 1 max


i 1,..,n

j 1

i 1,.., n

1,

j i aii aij ,

j i, i 1,.., n.

j 1

Deci conditia necesara si suficienta pentru ca metoda iterativa Jacobi sa convearga este ca
matricea sistemului sa fie diagonal dominanta.
Din relatia de iteratie avem:

67

X ( k 1) BX ( k ) d
X ( k ) BX ( k 1) d
X ( k 1) X ( k ) B( X ( k ) X ( k 1) )

sau in norma obtinem


X

( k 1)

(k )

Daca notam cu

( k 1)

(k )

B X ( k ) X ( k 1)

rezulta

q B

q X

(k )

( k 1)

q m (1)
...
X X (0)
1 q

m
X ( k 1) X ( k ) q X (1) X ( 0)

1 q

unde m reprezinta numarul de iteratii.


Relatia de mai sus exprima si o evaluare a preciziei cu care se face aproximarea solutiei
exacte prin aproximatia de ordin k+1 cu o eroare stabilita anterior

O conditie de oprire a procesului iterativ este cand diferenta in modul a doua aproximatii
successive se incadreaza intre limitele erorii
X

( k 1)

X (k )

sau
qm
X (1) X ( 0 ) ,
1 q
(1)
(0)
max xi(1) xi( 0 ) .
unde X X
i 1,.., n

Relatia ofera si un mijloc de a afla numarul de iteratii, m, de la care procesul iterativ


converge la solutia exacta, in contextual unei precizii date.
Daca aii 0 , o formula explicita a valorii aproximantei de ordin (k+1), folosind
aproximanta de ordin (k) este data de relatia
1 n
xi(k 1) (bii aij x (jk ) ) i 1,.., n
aii j1 ,

k 0,1,2,...

j i

68

Identificand in relatia de mai sus avem ca elementele vectorului de iteratie sunt de


forma

aij
aii

bi
, i 1,2,..., n
aii

si

elementele

matricii

de

iteratie

de

forma

, i j , i, j 1,2,..., n.

innd seama de formulele de recuren scrise pe componente i folosind respectiv


norma maxim, norma unu sau norma euclidian, condiia de convergen devine:
n

| aij | | aii |, i {1,2,..., n}

j 1
j i

sau
n

| aij | | a jj |, j {1,2,..., n}

i 1
i j

sau
2

aij
1 .
i 1 j 1 aii
n n

j i

Din motive de eficien, preferm verificarea condiiei


x ( k 1) x ( k ) x ( k )

considernd irul convergent ncepnd cu un rang k.


Metoda Jacobi conduce la urmtorul algoritm.
Algoritm
Intrri:

n = ordinul matricii sistemului


A = matricea sistemului
b = vectorul termenilor liberi
y = aproximaia iniial / precedent a soluiei
nr_max = numrul maxim admis de iteraii

= precizia
Ieiri:

x = soluia (aproximaia cerut)

{
k 0

69

p y

| p q | p

ct timp (k < nr_max) i ( | p q | p )


pentru i 1 : n
{
S 0

pentru j 1 : i 1
s s aij y j

pentru j i 1 : n
s s aij y j

xi (bi s ) / aii

}
p y
q x

yx
k k 1

}.

6.2.2 Metoda Gauss-Seidel


Face parte tot din categoria metodelor iterative, avand la baza descompunerea matricii
sistemului in doua matrici mai usor de manipulat.
Fie sistemul (6.2.1) in forma matriceala

AX b unde A- reprezinta matricea

coeficientilor sistemului, X-vectorul necunoscutelor si b- vectorul termenilor liberi.


astfel incat det A 0.
Se descompune matricea sistemului astfel incat A L U , unde

70

a11 0 ..... 0
a a ..... 0
21 22

, matricea inferior triunghiulara care are elementele

...................

an1 an2 .......ann


deasupra diagonalei principale egale cu zero, iar

0 a12 .... a1n


0 0 ..... a
2n

...................

, matricea superior triunghiulara care are

0 0..........0
elementele de sub diagonala principala (inclusiv) egale cu zero.
Convergenta metodei implica dominanta diagonala in cadrul matricii A.
Pe baza descompunerii de ma sus se va obtine o relatie de iteratie si cu ajutorul careia
vom obtine sirul de aproximatii sucesive pentru solutia exacta a sistemului.
Sa obtinem aceasta relatie de iteratie.
Inlocuind matricea A cu descompunerea specificata obtinem
( L U ) X b LX UX b LX UX b

Se obtine astfel relatia de iteratie


LX ( k 1) UX ( k ) b.

Nu am izolat necunoscuta X in membrul drept pentru ca metoda s-ar fi complicat cu


calculul unei matrice inverse, proces care nu intotdeauna este simplu.
Metoda Gauss-Seidel reprezinta o modificare a metodei Jacobi in sensul ca la calculul
( k 1)
componentei xi( k 1) , se folosesc toate componentele x j , j i , deja calculate la

iteratia curenta (k+1), impreuna cu componentele xl( k ) , l i obtinute la iteratia precedenta

71

(k). Pe masura ce se obtin componentele vectorului solutie la iteratia (k+1), acestea sunt
folosite la calculul celorlalte componente.
Problema alegerii conditiei initiale, ca si la metoda Jacobi, ramane in seama
utilizatorului.
Calculul iterativ poate inceta la indeplinirea urmatorului criteriu , amintit si la alte metode
iterative
max xi( k 1) xi( k )
i 1,.., n

unde

reprezinta precizia cu care se face aproximarea.

Relatia de mai sus revine la a scrie


X

( k 1)

X (k )

, k 0,1,...

De regula, metoda Seidel - Gauss aduce un plus de viteza de convergenta fata de metoda
Jacobi. Astfel, este de asteptat ca, pornind de la o aceeasi aproximatie initiala, metoda
Seidel - Gauss sa asigure precizia impusa intr-un numar mai mic de iteratii.
Algoritm
Intrri:

n = ordinul matricii sistemului


A = matricea sistemului
b = vectorul termenilor liberi
y = aproximaia iniial / precedent a soluiei
nr_max = numrul maxim admis de iteraii

= precizia
Ieiri:

x = soluia (aproximaia cerut)

{
k 0

py
x y
| p q | p

ct timp (k > nr_max) i ( | p q | p )


pentru i 1 : n
{

72

S 0

pentru j 1 : i 1
s s aij x j

pentru j i 1 : n
s s aij y j

xi (b s ) / aii

}
p y
q x

yx
k k 1

}.

Cod de program in Matlab-metoda lui Jacobi


function [ x, nrX ] = jacobiIt ( a, b, x0, err , nr )
%

jacobiIt

Rezolvarea

unui

sistem

de

ecuaii

liniare

folosind metoda lui Jacobi


% corectitudine parametrii
if ( nargin < 2 ) disp (['Insufic entipar metr i!'i ]); end
[nm] = size (a ) ;

if ( nargin < 3 ) x0 = 1: n ; end


if ( nargin < 4 )

err

= eps ; end

if ( nargin < 5 ) nr = 50 ; end


nrX = nr ;

for k = 1 : nr
for i = 1 : n

s = 0;
for j = 1 : n

73

if ( j i ) s = s (a(i, j) * x0( j)); end


end
x(i) = (s b(i) /a(i, i) ;

end
%calcul eroare
if max(abs( x x0)) < err %/norma

nrX = k ; break;
end
x 0 = x;

end

Calculul soluiilor unui sistem de ecuaii liniare folosind metoda lui Jacobi poate fi
realizat i utiliznd urmtorul script metoda_Jacobi.m
x=[0;0;0;0];
b=[15;1;-6;17];
A=[20 4 5 3;3 10 -1 2;1 -1 10 4;-1 1 -2 5];
D=diag(diag(A));
C=D-A;
for i=1:6
x=inv(D)*C*x+inv(D)*b
end

La apelare n fereastra de comand se va returna urmtorul ir de aproximaii ale lui x


>> metoda_Jacobi
x =
0.7500
0.1000
-0.6000
3.4000
x =
0.3700
-0.8650
-2.0250
3.2900
x =

74

0.9357
-0.8715
-2.0395
2.8370
x =
1.0086
-0.9521
-1.9155
2.9457
x =
0.9774
-0.9833
-1.9743
3.0259

x =
0.9863
-0.9959
-2.0064
3.0024

Cod de program Matlab-metoda iterativ Gauss-Seidel


function [x, nrX] = mGaussSeidelIt(A, b, err, nr)
%

A -matricea coeficienilor

% b -vectorul termenilor liberi


%
%

x
err

-vectorul necunoscutelor

-precizia

x 0 = zeros (length(b),1) ;
x = x 0;

D = diag ( diag ( A)) ;


L = (tril ( A,1));

M = D L;

75

invM = inv ( M );
N = M A;

T = invM * N ;
c = invM * b;

% calculul necunoscutelor n numrul maxim de iteraii

nr

for k = 2 : nr
x = T * x c;

quad

T -matricea

de

iteraie,

vectorul de iteraie
%condiia de stop
if ( sum( abs ( x x 0)) < err )

nrX = k 1 ;
return
end

x0 = x ;
end
error( 'S-a depit numrul de iteraii');

Exemplul 2
3
20
S se rezolve sistemul AX = b unde A =
19

10

4
5
1

5
5
2

2
1

15
3
, prin
, i b =
21
1

5
17

metoda lui Jacobi cu o precizie de 10 3.


Soluie.
Pentru a ne asigura de convergena metodei lui Jacobi s aducem matricea
sistemului la forma diagonal dominant prin transformri asupra liniilor i coloanelor,
transformri care se vor transfera i asupra vectorului termenilor liberi.
Astfel obinem:
20
3
'
A =
1

unde noile linii s-au obinut astfel: 1'

10
1
1

1
10
2

15

, b' = 1 ,
6
4

5
17
2

= 2 0 , 2' = 10 , 3' = 2 0 3 0 ,

4' = 4 0.

76

n continuare s desfacem matricea sistemului:


A = D C,

unde
20
0
D =
0

0
10
0
0

0
0
0

0
0
10
0

matricea diagonala

4 5
0
3 0
1
C=
1 1
0

1 2
1

3
2
4

Cu aceste matrici s scriem acum relaia de iteraie ce va genera irul aproximaiilor


metodei.
X (k 1) = BX (k ) d ,

unde B = D 1C , d = D 1b. , k = 0,1,..

X ( k 1) ,

(k )

reprezint aproximaiile de

ordin k 1 , respectiv k i sunt matrice coloana cu 4 elemente ce reprezint soluiile


sistemului.

x1

Se observ c pentru

k = 0

x2
x3

x4

, se obine aproximaia de ordin 1, calculat n

funcie de cea de ordin 0, care reprezint i condiia iniial a procesului iterativ. Alegerea
condiiei iniiale este unul din aspectele importante al oricrui proces iterativ.
S lum

X (0)

0
0
=
0

0

n urma calculelor obinem:


0
0.3
B=
0.1

0.2

0.2
0
0.1
0.2

0.25
0.1
0
0.4

0.15
0.75

0.1
0.2
,
,d =
0.6
0.4

3.4

unde

77

D 1

1/20
0
=
0

1/10
0
0

0
1/10
0

0
0
0

1/5

S verificm nainte condiia de convergen a metodei:


B

<1

Conform formulei de calcul a normei avem

0.6

0.6
= max
= 0.8 = q < 1.
1 i 4 0.6

0.8

S desfacem relaia de iteraie, scriind explicit matricile X , B i d

x1( k 1)

( k 1)

x2
x3( k 1)
( k 1)
x 4

0.2
0
0.3 0
=
0.1 0.1

0.2 0.2

0.25
0.1
0
0.4

0.15
0.2
0.4

x1( k )
(k )

x2
x3( k )
(k )
x 4

0.75
0.1

0.6

3.4

nmulind i apoi identificnd obinem 4 relaii de iteraie corespunztoare soluiilor


sistemului

x1 , x2 , x3 , x4

x1( k 1) = 0 x1( k ) 0.2 x2( k ) 0.25 x3( k ) 0.15 x4( k ) 0.75


x2( k 1) = 0.3 x1( k ) 0 x2( k ) 0.1 x3( k ) 0.2 x4( k ) 0.1

x3( k 1) = 0.1 x1( k ) 0.1 x2( k ) 0 x3( k ) 0.4 x4( k ) 0.6


x4( k 1) = 0.2 x1( k ) 0.2 x2( k ) 0.4 x3( k ) 0 x4( k ) 3.4

Dnd valori lui k = 0,1,.., n, obinem pentru fiecare necunoscut cte un ir de aproximaii
succesive ce pentru un numr suficient de iteraii vor tinde la soluiile exacte ale
sistemului. Una din condiiile de oprire a procesului iterativ va fi cnd diferena n modul
ntre dou aproximaii succesive se va ncadra ntre limitele unei precizii date.
Avem urmtorul tabel de valori:

78

X=
conditia
initiala
k =0
k =1

x1

x2

x3

x4

x10 = 0

x20 = 0

x30 = 0

x40 = 0

x1' = 0.75
x12 = 0.3700

x'2 = 0.1
x22 = 0.865

x3' = 0.6
x32 = 2.0250

x'4 = 3.4
x42 = 3.290

k=2
k =3

x13 = 0.9357
x14 = 1.0086

x23 = 0.8715
x24 = 0.9521

x33 = 2.0395
x34 = 1.9155

x43 = 2.8370
x44 = 2.9456

......
k =9

...........
x110 = 0.998

............
.................
.............
10
10
x2 = 0.9999 x3 = 2.0002 x10
4 = 2.9998

k = 10

x111 = 1.0001 x10


2 = 0.9999

x310 = 1.9999

x10
4 = 2.9999

Se observ c diferenele dintre ultimele aproximaii sunt tot mai puin oscilante aa c
procesul de calcul se poate opri. n limitele preciziei date putem aproxima soluiile
sistemului cu valorile:

x1 = 1 , x

x3 = 2 , x

= 1 ,

= 3.

Exemplul 3
S considerm exemplul 2 de la metoda lui Jacobi cu matricea sistemului adus la
forma diagonal dominant.
S rezolvm sistemul cu ajutorul metodei lui Gauss Seidel
Fie deci AX = b ,unde

A=

20 4
3 10

5
1

3
2

1 10 4

2 5
1 1

,b =

15
1

17

,X =

x1
x
2
x3

x4

Vom descompune matricea sistemului n cele dou matrici triunghiulare


20 0 0 0
0
3 10 0 0

,U = 0
1 1 10 0
0

1 1 2 5
0

L=

4 5 3
0
0

1
0

2
4

Relaia LX = UX b scris desfurat ofer cele 4 relaii de iteraii pentru fiecare


component a necunoscutei

, dup care se calculeaz

irul de aproximaii succesive ale necunoscutelor sistemului.

79

20
3

0
10
1
1

0
0
10
2

0
0
0

x1( k 1)

( k 1)
x2
x3( k 1)
( k 1)
x4

0
0
=
0

4
0
0
0

5
1
0
0

3
2
4

x1( k )

(k )
x2
x3( k )
(k )
x4

15
1

6

17

nmulind i identificnd obinem:


20 x1(k 1) = 4 x2( k ) 5 x3( k ) 3 x4( k ) 15
3 x1(k1) 10 x2(k1) = 1 x3(k) 2 x4(k) 1

x1( k 1) 1 x2( k 1) 10 x3( k 1) = 4 x4( k ) 6


x1( k 1) 1 x2( k 1) 2 x3( k 1) 5 x4( k 1) = 17

Astfel obinem formulele de iteraie ce stau la baza procesului iterativ

Gauss-Seidel:

x1( k 1) = 0.2 x2( k ) 0.25 x3( k ) 0.15 x4( k ) 0.75


x2(k 1) = 0.3 x1(k 1) 0.1 x3(k ) 0.2 x4(k ) 0.1

x3( k 1) = 0.1 x1( k 1) 0.1 x2( k 1) 0.4 x4( k ) 0.6

x4( k 1) = 0.2 x1( k 1) 0.2 x2( k 1) 0.4 x3( k 1) 3.4

Dnd valori lui k = 0,1,.., n, obinem pentru fiecare necunoscut cte un ir de


aproximaii succesive ce pentru un numr suficient de iteraii vor tinde la soluiile exacte
ale sistemului.
S lum ca aproximaie iniial vectorul

( 0)

0
0
0

n baza acestor ipoteze s trecem la calculul irului de aproximaii pentru fiecare


necunoscut n parte:
X =
conditia
initiala
k =0
k =1
k = 2

x1
x10 = 0
'

x1 = 0.75
x12 = 0.4518
x13 = 0. 989 2

x2
x 02 = 0
'

x 2 = 0.125
x 22 = 0. 7643
x 32 = 0.9662

x3
x30 = 0
'

x3 = 0.6875
x32 = 2.0416
x33 = 1. 92 61

x4
x40 = 0
'

x4 = 3.3
x42 = 2.8265
x43 = 2. 9902

k =3

x14 = 0.9717

x 24 = 0. 9882

x34 = 2.0042

x44 = 2.9902

... . ..

. ... .... ...

.. . .. .. ... ..

. ... ... .... ... ...

. .... . .. .....

k =6

x1 = 1.00004

x 2 = 0. 9999

x3 = 1.9999

x4 = 3. 0000

k =7

x18 = 0. 999 9

x 82 = 0.9999

x38 = 2. 00 0

x48 = 2. 9999

80

CURS 7
Aproximarea functiilor prin polinoame
7.1 Introducere
Pentru o funcie f : [ a, b] R problema aproximrii ei printr-un polinom se
consider fie cnd este dificil de evaluat f, fie cnd nu se cunoate expresia analitic a lui
f ci doar valorile ei n anumite puncte xi [a, b] ,

i 0, n

, obinute n general ca urmare

a unor msurri i prezentate ntr-un tabel. Mulimea de puncte

xi [ a, b] , i 0, n ,

cu

proprietatea a x0 x1 ... xn b , o vom nota prin d[ a , b ] i o vom numi diviziune a


intervalului [ a, b] . Punctele xi ,

i 0, n

vor fi numite nodurile diviziunii.

Alegerea unui polinom pentru aproximarea funciei f se justific prin modul


simplu computerizat de evaluare a valorii polinomului ntr-un punct.
Weierstrass, n 1885, demonstreaz c orice funcie continu pe un interval
[ a, b] este limita uniform pe [ a, b] a unui ir de polinoame i d un procedeu pentru

calculul acestor polinoame. Bernstein, n 1912, d o metod prin care putem calcula,
pentru o funcie continu pe [ a, b] , un ir ( Pn ) n de polinoame uniform convergent
ctre f.
Fiind dat o funcie arbitrar f : [a, b] R se consider problema stabilirii unui
criteriu de alegere a polinomului P care s aproximeze funcia dat. Astfel este necesar un
instrument matematic pentru msurarea distanei dintre dou funcii, care impune situarea
ntr-un spaiu vectorial normat complet i n funcie de stabilirea criteriului de alegere a
polinomului P care s aproximeze funcia f vom avea metode de aproximare a funciilor
prin polinoame i anume: aproximarea prin interpolare, aproximarea n medie ptratic.
Fie B un spatiu liniar real de functii definite pe un interval [a,b],
{i : B R i 1,..., N }

o multime de functionale liniare, A B, f B.

81

Definitie

7.1.1

Operatorul

de

aproximare

P:B A

cu

proprietatea

ca

i ( Pf ) i ( f ), i 1,..., N , se numeste operator de interpolare, in raport cu multimea


,
f Pf Rf

este formula de interpolare generata de operatorul P iar R este operatorul rest


corespunzator.
In general, functionale i , i 1,..., N sunt valori ale functiei f sau ale unor derivate ale
acesteia in puncte xi [ a, b], i 1,..., N numite noduri de interpolare. Identificand
multimile A si vom obtine si diverse tipuri de operatori de interpolare. Astfel daca A
reprezinmta multimea polinoamelor de grad cel mult m, Pm , vom obtine operatori de
interpolare polinomiala.

7.2 Polinoame de interpolare


Fie

f : [ a, b ] R

i diviziunea d[ a , b ] : a x0 x1 ... xn b . Presupunem

cunoscute valorile funciei f n nodurile de interpolare xi ,

i 0, n

ale diviziunii d[ a , b ] i

(eventual) derivatele de anumite ordine ale funciei f n aceste noduri. Se dorete


determinarea unui polinom P care are aceleai valori ca i f n noduri i (eventual)
derivatele de anumite ordine ale lui f i P n noduri s coincid. Un astfel de polinom P l
vom numi polinom de interpolare ataat funciei f i diviziunii d[ a , b ] .
7.2.1

Interpolarea polinomial Lagrange


Fie f : [a, b] R i xi [a, b] ,

i 0, n

astfel nct xi s fie toate distincte.

Presupunem c se cunosc valorile funciei f n nodurile xi , f i f ( xi ) ,

i 0, n

In situatia interpolarii Lagrange, multimea functionalelor i , i 1,..., n , reprezinta


valorile functiei in nodurile de interpolare i ( f ) f i , i 1,..., n .
Definitie 7.2.1 Problema de interpolare relativ la spatiul Pm si la functionalele liniare

i , i 1,..., n , definite prin i ( f ) f i se numeste problema de interpolare Lagrange.


Aceasta problema consta defapt in determinarea unui polinom P astfel nct

82

P ( xi ) f i pentru i 0, 1, ..., n .

O solutie daca exista, a unei astfel de probleme, se numeste polinom de interpolare


Lagrange, notat Ln f , unde n reprezinta gradul polinomului, asociat functiei f.
Teorema 7.2.2

Exist un polinom i numai unul de grad cel mult n astfel ca


P ( xi ) f i pentru i 0, 1, ..., n .

Demonstraie.

Dac P i Q sunt dou polinoame de grad cel mult n astfel ca

P ( xi ) Q ( xi ) f i pentru i 0, 1, ..., n atunci polinomul R P Q este de asemenea

de grad cel mult n i R( xi ) 0 pentru i 0, 1, ..., n . Deoarece polinomul R se anuleaz


de cel puin (n + 1) ori i este de grad cel mult n, urmeaz c R este polinomul identic
nul, adic P Q .
Existena polinomului P o demonstrm construind efectiv polinomul P rspunznd
condiiilor P ( xi ) f i pentru i 0, 1, ..., n . S gsim un polinom k n spaiul vectorial
al polinoamelor de grad cel mult n, notat Pn , astfel ca
i ( x k ) 0 pentru i k
k ( xk ) 1 .

Acest polinom se anuleaz de n ori pentru x0 , x1 , ..., x k 1 , x k 1 , ..., x n . Deci


k ( x) ( x x0 )( x x1 )...( x x k 1 )( x x k 1 )...( x x n ) .

Deoarece k ( x k ) 1 urmeaz c
n

k ( x)

xxj

j 0 xk x j .

j k

Cele (n + 1) polinoame k ( k 0, 1, ..., n ) sunt liniar independente n spaiul


vectorial al polinoamelor de grad cel mult n. ntr-adevr, fie o combinaie liniar nul:
0 0 ( x) 11 ( x) ... n n ( x) 0 .

Pentru x x k , k 0, 1, ..., n , avem


0 0 ( x k ) 11 ( x k ) ... k k ( x k ) n n ( x k ) 0 .

Deci k 0 pentru k 0, 1, ..., n .


Cele (n + 1) polinoame k formeaz deci o baz a acestui spaiu vectorial de
dimensiune n + 1. Polinomul P cutat se obine ca o combinaie liniar de polinoame k ,
adic polinomul dat de formula Lagrange.
83

( Ln f )( x ) f ( x k ) k ( x ) .
k 0

ntr-adevr,
n

( Ln f )( xi ) f k k ( xi ) f i , pentru i 0, 1, ..., n .
k 0

Definitia 7.2.3 Polinoamele l k se numesc polinoame fundamentale de interpolare


Lagrange.
Cazuri particulare:
n=1

( L1 f )( x )

x x1
x x0
f ( x0 )
f ( x1 )
x 0 x1
x1 x 0

n=2
( L2 f )( x)

( x x1 )( x x 2 )
( x x 0 )( x x 2 )
( x x0 )( x x1 )
f ( x0 )
f ( x1 )
f ( x2 )
( x0 x1 )( x 0 x 2 )
( x1 x 0 )( x1 x 2 )
( x 2 x0 )( x 2 x1 )

Teorema 7.2.4 Operatorul Ln este un proiector (este liniar si idempotent).


Demonstratie Liniaritatea
n

Ln (f g ) l k [f ( xk ) g ( xk )] Ln f Ln g .
k 0

Idempotenta
n

k 0

k 0

( L2n f )( x) l k ( x)( Ln f )( xk ) l k ( x) f ( xk ) ( Ln f )( x) .
Pentru calculul valorii polinomului de interpolare Lagrange ntr-un punct a folosind
n

relaia ( Ln f )( x) f k k ( x) a fost definit algoritmul urmtor:


k 0

Algoritm
Intrri:

n = gradul polinomului de interpolare


a = valoarea argumentului polinomului
x = tabloul absciselor punctelor de interpolare
y = tabloul ordonatelor punctelor de interpolare

Ieiri:

= valoarea polinomului de interpolare n a

84

{
0

pentru i 0 : n
{
P 1

pentru j 0 : n
dac j i atunci
P P (a x j ) /( xi x j )

yi P

}
}.

Complexitatea metodei este

O(n 2 ) ,

mai exact

4n 2

operaii ( n( 2n 3) adugri,

( n 1)(2n 1) nmuliri i ( n 1) mpriri).

85

7.2.3

Evaluarea restului la interpolarea Lagrange. Polinoame Cebsev

Polinomul de interpolare Lagrange genereaza formula de aproximare


f Ln f Rn f

unde prin Rn f s-a notat termenul rest.


Fie

f : [ a, b ] R

f ( x ) ( Ln f )( x) ,

i fie x0 , x1 , ..., x n [a, b] . Ce se poate spune despre restul


unde

( Ln f )( x )

este

polinomul

de

interpolare,

astfel

( Ln f )( xi ) f i , i 0, 1, ..., n .

Observaie Se remarc faptul c x, punctul n care se face aproximarea prin


interpolare, aparine lui [ a, b] . n caz contrar, se spune c avem o extrapolare.
Aproximarea realizat cu ajutorul polinomului de interpolare Lagrange este
nelocal, n sensul c la evaluarea funciei de interpolat contribuie informaii din toate
punctele de interpolare, nu numai din cele din vecintatea argumentului considerat.
Aceasta conduce la oscilaii complet strine de comportarea real a funciei aproximate.
Un exemplu n acest sens este pentru aproximarea funciei f ( x) 1 / x . Distribuirea n
mod echidistant a punctelor de interpolare reduce oscilaiile pn aproape la dispariie.
Teorema 7.2.4
Dac

f C n 1 [ a , b ]

i a x0 x1 ... xn b atunci

f ( x ) ( Ln f )( x)

( x x0 )( x x1 )...( x xn )
f
( n 1)!

( n 1)

( ) ,

unde a min( x, x0 ) max( x, x n ) b .


Demonstraie. Fie F : [ a, b] R , definit prin
F ( y ) f ( y ) P ( y ) c w( y )

unde c este o constant aleas astfel nct F ( x) 0 .


Deci
c ( f ( x ) P( x )) / w( x ) ,

unde w( x ) ( x x0 )( x x1 )...( x x n ) .
Din condiiile de interpolare F ( xi ) 0 , i 0, 1, ..., n .

86

Deci F are n + 2 zerouri distincte i anume: x, x0 , x1 , ..., x n pe [ a, b] . Aplicnd


teorema Rolle pe acest interval, F ' va avea cel puin n 1 zerouri distincte,
puin

n zerouri distincte. Din aproape n aproape,

F " cel

F ( n 1) va avea cel puin un zero

( a, b) i deci 0 F ( n 1) () f ( n 1) () c( n 1)! .

Sub aceast form restul nu poate fi determinat n practic, deoarece punctul ,


care depinde de x i de nodurile de interpolare nu este cunoscut. Dac, ns, se cunoate
estimaia

Mn

sup

y[ a , b ]

| f ( n 1) ( y ) |

, se poate evalua

| f ( x) ( Ln f )( x) |

M n | w( x) |
. x [ a, b ] .
(n 1)!

Interpolarea polinomial Lagrange este util pentru construirea formulelor de


aproximare a integralelor, derivatelor i ecuaiilor difereniale.
n practic, pentru a aproxima o mulime de puncte de interpolare, se va limita la
polinoame de grad cel mult 10.
Se va prefera pentru polinoame de grad mai mare dect 10, s se utilizeze funcii
spline care au cele mai bune proprieti de stabilitate.
Formula erorii de interpolare ne spune c eroarea depinde de polinomul nodurilor. Va
trebui deci sa alegem nodurile astfel inct funcia
n

u (t ) (t xi )
i 0

sa fie minim.
S-a demonstrat ca alegerea nodurilor egal echidistante duce in aparopierea capetelor
intervalului candn n creste la erori semnificative (efectul Runge).
Nodurile de tip Cebasev

care minimizeaza functia noastra, se obtin ca solutii ale

polinoamelor Cebasev.

Polinoame de tip Cebasev pot fi definite recursiv


T0 (1) 1 , T1 ( x ) x
Tm 1 ( x ) 2 xTn ( x ) Tn 1 ( x) , n 1.

87

O formula explicita
Tn ( x ) cos(n ar cos x), x [ 1,1], n 0,1,2,....

Proprietati ale polinoamelor Cebasev


1) Tn ( x) 1

2) Tn cos

3) Tn cos

x [1,1]

i
i
(1) ,
n

i 0,1,..., n

2i 1
0 , i 1,.., n
2n

Ultima relatie ne da si solutiile polinomului de tip Cebasev.


2i 1
xi cos
, i 0,1,..., n.
2n 2

Daca nodurile de interpolare sunt Cebasev pe [-1,1] eroarea de interpolare devine


f ( x) p( x)

1
max f
2 ( n 1)! 1t 1

( n 1)

(t )

x 1.

Aceste noduri sunt doar pentru intervalul [-1,1] pentru alte intervale se vor transforma
adecvat.
Aceste noduri sunt optimale pentru ca asigura aproximarea datelor pentru un minim al
erorii. In situatia interpolarii polinomiale cu noduri echidistante contrar intuitiei noastre,
eroarea de interpolare nu tinde la zero cand crestem numarul punctelor de interpolare
(implicit, gradul polinomului), situatia fiind chiar mai rea. Rezultatul urmator a fost
demonstrat de Faber in 1924.
Teorema

7.2.5

(Faber)

Pentru

un

a x0( n ) x1( n ) ... x n( n ) b exista o functie

sistem

de

noduri

de

interpolare

f C ([a, b]) astfel incat polinomul de

interpolare Pn nu converge uniform la f


f Pn

nu tinde la zero pentru

n .

Teorema de mai sus vine ca un contraexemplu la afirmatia adevarata ce deriva din


teorema fundamentala a aproximarii, a lui Weierstrass.
Teorema 7.2.6 (Fejer) Fie f C ([1,1]) si x 0 , x1 ,..., x n 1 sunt nodurile Cebasev.
Atunci exista un polinom P2 n 1 de grad 2n-1 care interpoleaza f in punctele specificate
pentru care
f P2 n 1 0, n .

88

Pentru a minimiza eroarea la interpolarea Lagrange pentru o funcie f definit pe


intervalul [ a, b] , nodurile de interpolare se aleg astfel
xi

ba
(2i 1) a b
cos

2
2n
2

i 1, n

Interpolarea cu aceste noduri se numete interpolare Cebev.


Intr-adevr, daca Pnf este polinomul de interpolare pentru f

g
si Pn este

f
g
polinomul de interpolare pentru g, atunci Pn Pn este polinomul de interpolare pentru

f+g, si deci
E ( f g ; x) f ( x) g ( x) Pnf ( x) Png ( x) E ( f ; x) E ( g ; x).

Notm cu P0 polinomul lui Lagrange care interpoleaz funcia f n nodurile xi( n ) , i 0, n


. Daca n este mai mare, P0 coincide cu f ntr-un numr mare de noduri, deci ne ateptam
E n ( f ; x ) 0.
ca eroarea E n ( f ; x) f ( x) Pn ( x) s fie mic, eventual ca nlim

Ajungem astfel la urmtoarea ntrebare:


In ce condiii irul de polinoame {Pn } converge punctual (eventual uniform) la funcia f
pe intervalul {a,b}?
In anul 1912 S. N. Bernstein a artat ca pentru funcia
(n)
daca alegem nodurile echidistante xi 1

f ( x) x ,

x [1,1] ,

2i
Pn ( x) f ( x) daca
, i 1, n , atunci lim
n
n

x {1,0,1}.

S-ar putea crede ca acest lucru se datoreaz faptului ca funcia-modul nu este


derivabila in origine. Urmtorul exemplu dat de C. Runge in 1901 arat c exist funcii
indefinit derivabile pentru care {Pn } nu converge la f
Fie f ( x)
Evident

1
, x [5,5].
1 x2

f C [5,5].

xi 5

10
i,
n

Fie nodurile echidistante

i 0, n .

89

Pn ( x) f ( x ) dac
Se poate arata ca lim
n
x c,

x c

Pn ( x) f ( x ) dac
si lim
n

unde c 3.6334 este o rdcina a ecuaiei:

(5 x) ln(5 x) (5 x) ln(5 x) 5 ln 26 2arctg 5 0


(n)
In anul 1914 S. N. Bernstein a artat c pentru orice sistem de noduri {xi } ,

i 0, n

din

intervalul [ a, b] , dat dinainte, exist o funcie continu f : [a, b] R , astfel nct irul
polinoamelor lui Lagrange {Pn } care interpoleaz funcia f n aceste noduri nu converge
uniform la f pe [ a, b] .
Se constat n practic faptul c pentru un punct a [ a, b] , eroarea f (a ) Pn (a ) scade
pn la un punct pe msura ce n crete, i deci, pentru n relativ mic Pn (a ) aproximeaz
acceptabil valoarea f (a ) . Pentru valori mari ale lui n, interpolarea Lagrange nu este
recomandat.

90

7.2.4 Metoda lui Aitken


Metoda consta in generarea urmatorului tablou:
x0

f 00

x1

f10

f11

x2

f 20

f 21

f 22

x3

f 30

f 31

f 32

.
.
.
xm

f m0

f m1

f 33

f m2

f m 3 ......

f mm

unde f i 0 f ( xi ), i 0,1,..., m iar

1 f j xj x
f ,ji 1
xi xj fij xi x

pentru i 1,...., m; j 0,1,..., i 1 . Se observa ca


f11

x x0
x x1
f ( x0 )
f ( x1 ) ( L1 f )( x )
x0 x1
x1 x0

adica f11 este valoarea polinomului Lagrange relative la nodurile x0 , x1 pe punctual x.


In mod asemanator, se poate verifica egalitatea
f ii ( Li f )( x0 )

Li f fiind polinomul de interpolare Lagrange relative la nodurile x0 , x1 ,...., xi .

Prin urmare,
f11 , f 22 ,...., f ii ,..., f mm

este un sir de aproximatii ale lui f (x) , constand din valorile polinomului Lagrange
respective de gradul 1,2,,m, pe punctual

x , nodurile de interpolare fiind luate in

ordinea x0 , x1 ,...., xm .
Daca procedeul de interpolare converge sirul definit mai sus converge si el, adica

91

lim f mm f ( x).

Pe baza criteriului de convergenta a lui Cauchy rezulta din limita de mai sus

lim f ii f i 1,i 1 0
i

si reciproc.
In consecinta in aplicatii este justificata folosirea diferentei

f ii f i 1,i 1

, pentru

masurarea erorii absolute de aproximare iar in locul inegalitatii


( Rm f )( )

conditia

f ii f i 1,i 1

, numita in limbajul teoriei algoritmilor, criteriu de

convergenta a metodei respective.


Intrucat eroarea absoluta de aproximare a lui f (x) prin ( Lm f )( x ) este cu atat mai
mica cu cat nodurile de interpolare x0 , x1 ,..., xm se afla intr-o vecinatate a lui x de raza
cat mai mica, este natural ca inaintea aplicarii metodei lui Aitken nodurile sa se ordoneze
in functie de distanta lor la numarul x, adica astfel incat sa avem indeplinita conditia:
xi x x j x

daca i j , i, j 1,..., m .

Cod de program in Matlab-valoarea polinomului Lagrange ntr-un punct


function [ v, l ] = valLmf( x, m, X , Y )
%

valLmf

Calculeaz

valoarea

polinomului

de

interpolare

Lagrange ntr-un punct x


%

m gradul

polinomului Lagrange

% X -vectorul nodurilor de interpolare de dimensiune m 1


% Y - vectorul valorilor functiei pe noduri de dimensiune

m 1
l = zeros( 0, m );
for k = 0 : m
p1 = 1; p 2 = 1;

for j = 0 : m
if ( j k )
p1 = p1* ( x X ( j 1));
p 2 = p 2 * ( X ( k 1) X ( j 1));

end

92

polinomul fundamental de interpolare Lagrange - l (k ) ,

%
k = 0, m

l (k ) = p1/p 2;

end
end
v = sum(l. * Y );

Cod de program Matlab- diferene divizate


function [ A, df ] =difdivizate ( X , Y )
% X -vectorul nodurilor de interpolare
% Y -vectorul valorilor functiei pe noduri
% df -aproximanta derivatei
% A tabloul diferenelor divizate
A = Y;

n = lenght ( X );

for j = 2 : n
for k = n : 1 : j
A(k ) = ( A( k ) A( k 1))/( X (k ) X (k j 1));

end
end
x 0 = X (1);
df = A(2);
prod = 1;

n1 = lenght ( A) 1;

for k = 2 : n1
prod = prod * ( x 0 X ( k ));

df = df prod * A(k 1);

end

Exemplul 1
S se scrie polinomul de interpolare Lagrange pentru datele din tabelul:
x
f ( x)

1
1

1
0

2
1

93

Soluie.
Identificm din datele problemei nodurile de interpolare
x0 = 1, x1 = 1, x 2 = 2

i gradul polinomului de interpolare


n = 2.

Astfel polinomul de interpolare Lagrange se scrie desfurat


L2 f ( x ) = l 0 ( x ) f ( x 0 ) l1 ( x ) f ( x1 ) l 2 ( x) f ( x 2 )

Conform formulelor avem


l 0 ( x) =

( x x1 )( x x 2 )
x 2 3x 2
=
( x 0 x1 )( x 0 x 2 )
6

l1 ( x) =

( x x0 )( x x 2 )
x2 x 2
=
( x1 x0 )( x1 x 2 )
2

l 2 ( x) =

( x x 0 )( x x1 )
x2 1
=
( x 2 x 0 )( x 2 x1 )
3

Avem n final:
L2 f ( x ) =

x 2 3x 2
x2 x 2
x2 1
x( x 1)
1
0
1 =
6
2
3
2

Exemplul 2
Fie funcia

f ( x) =

. Stabilii precizia n calculul lui f (115) dac se folosete

interpolarea Lagrange cu nodurile de interpolare x0 = 100, x1 = 121, x 2 = 144.


Soluie.
Aa cum am precizat mai sus precizia va fi dat de expresia termenului rest din
formula de aproximare, corespunztoare valorii 115.
Gradul polinomului Lagrange este 2.
n aceste condiii avem:
R2 f ( x )

u ( x)
3!

f ' ' ' , x [a, b],

unde u ( x) = ( x 100)( x 121)( x 144) .


nlocuind

x cu valoarea pentru care vrem s calculm precizia, adic 115

obinem:

94

R2 f (115)

(115 100)(115 121)(115 144)

15 6 9
6

f ''' = f '''

3!

Rmne de evaluat norma uniform a derivatei de ordin 3:


3
f ' ' ' = 100 x 144 sup f ' ' ' ( x) = 10 5
8

n final avem:
R2 f (115) 1.6 10

Pentru o mai bun evaluare a preciziei de aproximare a funciei f prin polinomul


Lagrange asociat se poate crea reprezentarea grafic a celor dou funcii n acelai sistem
de coordonate.

Exemplul 3
S considerm funcia f ( x ) =

1
x2

. S reprezentm n acelai sistem de coordonate

funcia i polinomul Lagrange de grad m = 5, asociat funciei, pe intervalul [0.2,2] .


Vom scrie ntr-un fiier matlab urmtorul cod de program pe care apoi l vom
apela cu numele lui n fereastra de comand a mediului de programare:
m = 5;
x = 0.2 : 1.8/m : 2; /*vectorul nodurilor de interpolare
y = 1./x.942 ;

/*valorile funciei pe noduri

%limite pentru reprezentarea grafic


xmin = min( x );

xmax

XX = xmin : 0.1 : xmax;

= max ( x );

/*

vectorul

valorilor

care

se

valLmf,

aproximeaz funcia cu polinomul. Lagrange


YY = 1./XX .942; /*vectorul funciei pe aceste valori

plot( XX , YY ,' r' ); /* reprezentarea funciei


/*calculul

polinomului

Lagrange

cu

funcia

punctele specificate n vectorul XX


for k = 1 : length( XX )
[ zl ] = valLmf ( XX ( k ), m, x, y );

ZZ ( k ) = z;

end

95

/* reprezentarea polinomului Lagrange asociat datelor de mai


sus
plot( x, y ,' om' );
plot( XX , ZZ ,' b' );
title( ' Functia

si Polinomul lui Lagrange' );

legend( ' Rosu Functia' ,' Magenta Valorile functiei in X dat' ,


' Albastru Polinomul Lagrange' );

Curs 8
8.1 Diferene divizate
Definiie 1.3.1 S considerm f : I R . Diferenele divizate de ordinul p se definesc
astfel:
pentru p 0 [ x0 ; f ] f ( x0 );

96

pentru p 1 [ x0 , x1 ; f ]

f ( x1 ) f ( x0 )
;
x1 x0

pentru p 2 [ x0 , x1, ,...., x p ; f ]

[ x1 ,...., x p ; f ] - [ x01 ,...., x p 1 ; f ]


x p x0

S prezentm cteva proprieti importante ale acestei mrimi:


p

f ( xi )
,
i 0 u ' ( xi )

i) [ x0 , x1, ,...., x p ; f ]

unde u ( x ) ( x xi )
i 0

W ( x , x ,...., x ; f )

0
1
p
ii) [ x0 , x1, ,...., x p ; f ] V ( x , x ,...., x ) , unde V ( x0 , x1 ,...., x p ) este
0
1
p

determinantul

Vandermonde

ce

nodurilor xk , k 0,.., p i

corespunde

W ( x 0 , x1 ,...., x p ; f ) este determinantul obinut din cel precedent prin inlocuirea

coloanelor cu valorile f ( x k ), k 0,.., p .


iii)

Dac f C p ([a, b]) atunci [ x0 , x1 ,...x p ; f ]

( )
, [a, b].
p!

( p)

Pentru r N , r m , mrimea
[ x r , x r 1 ; f ]

f ( x r 1 ) f ( x r )
x r 1 x r

se numete diferena divizat a funciei f , relativ la punctele x r , x r 1 .


Definiie 1.3.2 Fie r , k N , 0 r m si 1 k m r. Mrimea
[ x r ,......, x r k ; f ]

[ x r 1 ,...., x r k ; f ] [ x r ,..., x r k 1 ; f ]
xr k xr

se numete diferena divizat de ordinul k a funciei f pe punctul x r .


Observaie Fie

F { f f : X R}. Aplicaia

( x r , x r 1 , f )

D: X2 F R

f ( x r 1 ) f ( x r )
,
x r 1 x r

se numete operatorul de diferena divizat.


In cazul diferenelor divizate i-a dovedit utilitatea tabloul cu diferene divizate:

97

Df

x0

f0

Df 0

D2 f0

x1

f1

Df 1

D 2 f1

x2

f2

Df 2

D2 f2

Df m 2

D 2 f m 2

D2 f

D m1 f
D m1 f 0
.
.

Dm f
Dm f

D m1 f1

.
xm2

f m2

x m 1

f m 1

xm

Df m 1

fm

unde f i f ( xi ), i 0,1,..., m .
Prin urmare elementele tabloului de mai sus se determin dup formula recursiv
( D k 1 f )( xi 1 ) ( D k 1 f )( xi )
( D f )( xi )
, k 1,..., m;
xi k xi
k

i 0,..., m k .

Diferentele divizate aproximeaz derivata unei funciei. Astfel din proprietile


diferenelor divizate in situaia cnd x1 x0 , x2 x0 ,..., xn x0 i f este de clas C n
avem
f n ( x0 )
.
[ x0 , x1 ,..., xn ; f ]
n!

8.2 Diferene finite


Fie M a k | a k a kh, k 0,..., m /; a, h R, h 0 si F f | f : M R .
Definiie 8.2.1 Pentru f F , ( h f )(ai ) f ( ai h) f ( ai ),

im

se numeste diferena finit de ordinul nti, cu pasul h a funciei f pe punctul a i .

98

Observaie Aplicaia h : M F R, ((ai , f ) f (ai h) f (ai ), se numete operator de


diferen finit cu pasul h .
Teorema 8.2.2 h este un operator liniar.
Demonstraie Dac f , g : M R, A, B R si i m, avem :
( h ( Af Bg ))(ai ) ( Af Bg )(ai h) ( Af Bg )(ai )

=A f (ai h) f (ai )] B[ g (ai h) g (ai )]


=A ( h f )(ai ) B( h g )(a i ).
Definiie 8.2.3 Fie 0 i m, k N si 1 k m i. Mrimea definit prin (
kh f )(ai ) ( h (kh1 f ))(ai )

0
1
cu conveniile h I si h h , se numete diferena

finit cu pasul h de ordinul k al funciei f , pe punctul ai .


Astfel , ( 2h f )(ai ) ( h )( f (ai h) f (ai )) f(a i 2h) 2 f (a i h) f (ai ).
a h
a
h
De exemplu, dac f ( x) e x avem ( h f )(a i ) e i e i (e 1) f (ai )
2
h
2
( h f )(ai ) (eh 1)( h f )(ai ) (e 1) f (ai ),

Iar prin metoda induciei matematice complete se demonstreaza ca


k
h
k a
( h f )(ai ) (e 1) e i ,

1 k m 1.

(8.2.1)

Teorema 8.2.4 Dac 0 i m, k , p N si 1 p k m 1, atunci


( ph (kh f ))(ai ) ph ( ph f )(ai ) ( ph k f )(a i ).
Teorema 8.2.5 Dac 0 i m, k , p N si 1 p k m i, atunci
p
k
k
p
pk
( h ( h f ))(ai ) h ( h f )(ai ) ( h f )(ai ).

99

Demonstratie Se folosete definiia diferenei finite de ordin superior.


k
Observaie Proprietatea de liniaritate se pstreaz i pentru operatorul h .

In continuare vom prezenta unele formule sau procedee de exprimare a diferenelor finite
de ordin superior cu ajutorul valorilor funciei, precum i a valorii unei funcii pe un
punct cu ajutorul diferenelor ei finite , formule utile n calculul cu diferene.
Teorema 8.2.6 Dac f : M R , atunci
m

m
i
i
( h f )(a ) (1) Cm f (a (m i )h).

(8.2.2)

i 0

unde coeficientii Ai nu depind de f .Ca urmare, funcia f poate fi particularizat


convenabil. Lund f ( x ) e x i avnd n vedere relaia (8.2.1) formula (8.2.2) devine (e
h

1) m e a

Ai e a ( mi ) h .

i 0

Simplificnd cu e a i aplicnd primului membru formula binomului, se obine


m

i 0

i 0

(1)i Cmi e( m i ) h Ai e( m i ) h.
Rezult c Ai (1)i Cmi
Observaie Pe baza proprietii de simetrie a combinrilor, formula (8.2.2) se mai poate
scrie
m

( h f )(a ) (1)
m

m i

i 0

Cmi f (a ih).

(8.2.3)

Teorema 8.2.7 Dac f : M R i k N , k m, atunci


k

f (a k ) Ck ( h f )(a ).
i

(8.2.4)

i 0

100

Demonstraie. Eliminnd din relaiile

0
( h f )(a ) f ( a)

( 1h f )( a) f ( a h) f ( a)
.............
k

( kh f )( a) (1)i Cki f (a ( k i )h)


i 0

valorile f ( a h),...., f (a (k 1)h) , se obine


k

f ( a kh) Bi ( ih f )(a)

(8.2.5)

i 0

unde B i nu depind de f . Lund , din nou, f ( x ) e x ,exprimand pe e hk sub forma


k h
i
(e 1) si avnd in vedere (8.2.1), formula (8.2.5),
i 0 i
k

hk
h
k
e [(e 1) 1]

i 1

i 0

i
h
i
h
i
dup simplificarea cu e , devine Ck (e 1) Bi (e 1) . Rezult deci c

Bi Cki

Teorema 8.2.8 Dac f , g : M R , atunci

mh fg )(a ) Cmi (ih f )(a )( mh 1 g )(a ih).

(8.2.7)

i 0

care este adevarat. Intr-adevar,


( h fg )(a ) f ( a h) g ( a h) f ( a ) g ( a )

Adunnd i scznd termenul f ( a ) g (a h) , se obine


( h fgf )(a ) f (a )[ g (a h) g (a )] g ( a h)[ f ( a h) f (a )] ,

adic formula (8.2.7).


101

Presupunnd formula (8.2.7) adevarat pentru m-1,adic


m 1

(mh 1 fg )( a) Cmi 1 (ih f )( a)(mh i 1 g )( a ih)


i 0

Folosind liniaritatea operatorului h ,result c


m 1

( mh fg )(a ) Cmi 1 h ((ih f )(a )(mh i 1 g )(a ih))


i 0

m 1

Cmi 1 ((ih f )(a )(mh 1 g )(a ih) ( ih1 f )(a )(mh i 1 g ( a (i 1) h)))
i 0

Fcnd n al doilea termen schimbarea i 1 k avem


m 1

i 0

k 1

(mh fg )(a ) Cmi 1 (ih f )(a )(mh 1 g )( a ih) Cmk 11 ( kh f )(a )( mh k g )(a kh)

sau, daca grupm termenii asemenea,


m 1

(mh fg )(a ) f (a )(mh g )(a) Cmi 1 Cmi 11 (ih f )(a )(mh i g )(a ih)
i 1

(mh f )(a) g (a mh)

Cum

102

m m11 m

i i1 i
teorema este complet demonstrat.
Dac xi a ih, i 0,1,..., m, a, h R atunci
( ph f )( x ) p! h p [ x, x h,..., x ph; f ] ,

relatie care stabilete legatura dintre diferenele divizate i diferenele finite, n cazul
nodurilor echidistante.
De mare utilitate pentru calcul este tabloul cu diferene finite.
Folosind notaiile f i f (ai ) ,avem:

fh

a0

f0

h f0

2h f 0

3h f 0 .....

a1

f1

h f1

2h f1

3h f1 .....

mh -1 f1

a m 3

f m 3

am2

f m2

h f m 3

2h f m 3

3h f m 3 ....

mh -1 f1

a m 1

f m 1

h fm2

2h f m 2

am

fm

2h f

3h f

.....

mh -1 f
mh -1 f 0

mh f
mh f 0

h f m 1

103

unde
kh f i kh1 f i 1 kh1 f i , k 1,..., m; i 0,1,..., m k

(8.2.8)

Tabloul cu diferene ofer o metoda simpl, algoritmic, de calcul a tuturor diferenelor


finite

ale

unei

funcii,

relativ

la

multime

de

puncte

echidistante

ai a 0 ih, i 0,1,..., m, date.

Dup cum rezult i din

relaiile (8.2.8) elementele fiecrei coloane se obin din

elementele coloanei precedente prin simple scderi, prin urmare, tabloul se completeaz
pe coloane.
Relaiile (8.2.8) permit i o programare simpl pentru generarea tabloului cu
diferenele finite la calculator.
In multe aplicaii concrete intervin numai elementele de pe latura superioar sau
inferioar a acestui tablou triunghiular. In astfel de cazuri este necesar reinerea numai a
unei pri din elementele tabloului, ceea ce permite, avnd n vedere c odat elementele
coloanei k fiind calculate, elementele coloanei k-1 nu mai intervin n calculele urmtoare,
o esenial economie de memorie.
Mai concret, dac trebuie reinute numai diferenele de pe latura superioara,
kh f 0 , k 1,..., m, atunci pe lnga zona de memorie care nregistreaz datele iniiale
k
mai sunt necesare m locaii care n diferenele h f 0 deja calculate,de exemplu pentru

k 1,...., i

i
precum i restul elementelor coloanei i, adic h f j , j = 1,,m-i.

Cod de program Matlab- diferene divizate


function [ A, df ] =difdivizate ( X , Y )
% X -vectorul nodurilor de interpolare
% Y -vectorul valorilor functiei pe noduri
% df -aproximanta derivatei
% A tabloul diferenelor divizate
A = Y;

n = lenght ( X );

for j = 2 : n

104

for k = n : 1 : j
A(k ) = ( A( k ) A( k 1))/( X (k ) X (k j 1));

end
end
x 0 = X (1);
df = A(2);
prod = 1;

n1 = lenght ( A) 1;

for k = 2 : n1
prod = prod * ( x 0 X ( k ));

df = df prod * A(k 1);

end

8.3 Interpolare Newton


8.3.1 Polinomul de interpolare Newton cu diferente divizate
Pentru construirea polinomului de interpolare Newton avem nevoie de noiunea
de diferen divizat . S construim mai inti diferenele divizate pe baza unor relaii de
recuren.
Fie f : [a, b] R , x0 , x1 ,...., xn un sistem de noduri distincte, neechidistante n
care se cunosc valorile funciei. Diferena divizat de ordin zero a funciei f n raport cu
xi , este valoarea lui f n xi . Diferenele de ordin superior se vor construi pornind de la

aceast relaie pe baza unor iteraii.


S exemplificm n continuare construcia acestor mrimi, n raport cu nodul x0.
F [ x0 ] = f ( x0 )

F [ x0 , x1 ] =

(8.3.1)

F [ x0 ] F [ x1 ]
x0 x1

105

F [ x 0 ,....., x k ] =

F [ x0 ,...x k 1 ] F [ x1 ,...., x k ]
x0 xk

(8.3.2)

unde prin relaia (8.3.1) am notat diferenele divizate de ordin 0, iar relaia (8.3.2) d
diferenele divizate de ordin k , corespunztoare nodurilor x0 , x1 ,...., xk

Aceste

diferene pot fi calculate i direct folosind relaia:

f ( xk )

F [ x0 ,....., x k ] =

i 0

j 0

(8.3.3)

( xi x j )

relaie demonstrat prin inducie complet.


n aplicaii este util s utilizm o tabel de calcul a acestor diferene.
Sa exemplificm pentru cazul n = 4
xi

f ( xi ) = yi

x0

y0

x1
x2

y1
y2

x3
x4

y3
y4

ord I

ord II

F [ x0 , x1 ]

F [ x0 , x1 , x2 , x3 ]
F [ x0 , x1 , x2 ]
F [ x1 , x2 , x3 , x4 ]
F [ x1 , x2 , x3 ]
F [ x2 , x3 , x4 ]

F [ x1 , x2 ]
F [ x2 , x3 ]

ord III

ord IV
F [ x0 , x1 , x2 , x3 , x4 ]

F [ x2 , x3 ]
y j = ( y j y j 1 )/( x j x j 1 )

Pentru aproximarea funciei

(creia i se cunosc valorile n (n 1) puncte

neechidistante), considerm polinomul de grad

n:

N n f ( x) = c 0 c1 ( x x 0 ) c 2 ( x x 0 )( x x1 ) ..... c n ( x x 0 )( x x1 )....( x x n 1 )
(8.3.4)

folosind condiiile de interpolare, adic


N n f ( xi ) = yi , i = 0,1,..., n

se vor obine coeficienii c0 , c1 ,...cn n funcie de diferenele divizate ale lui f .


Prima linie a tabelului de mai sus conine chiar coeficienii polinomului de
interpolare Newton. Diferenele divizate de diferite ordine reprezint aproximri ale

106

derivatelor de ordin corespunztoare ale funciei n sensul c dac f (x ) are

m derivate

pe intervalul [a,b] exist un punct a z b astfel nct:


F [ x0 , x1, ...., xm ] =

f m ( z)
m!

unde x0 , x1, ...., xm sunt puncte distincte din [ a, b] .


Astfel expresia polinomului Newton cu diferene divizate va fi, coerspunztoare
funciei f i nodurilor de interpolare x0 , x1 ,...., xn
N n f ( x) = f ( x0 ) F [ x 0 , x1 ]( x x0 ) F [ x0 , x1 ,..., x n ]( x x 0 )...( x x n 1 )

(8.3.5)

Metoda prezint un algoritm de calcul relativ stabil din punct de vedere numeric, avnd
erori acceptabile ale rezultatului. De asemenea metoda prezint avantajul c permite
mrirea gradului de interpolare, prin adugarea unui nod nou, cu reutilizarea
coeficienilor de la gradul anterior, deci un efort de calcul sczut.

8.3.2 Polinomul Newton de interpolare de spea I (ascendent)


Fie f : [a, b] R o funcie, fie x0 , x1 ,...., xn , n + 1 puncte distincte din
intervalul [a, b], i yi f ( xi ) pentru orice i 0,1,..., n . Punctele x0 , x1 ,...., xn se
presupun echidistante adic
xi x0 ih, i 0,1,..., n
h fiind pasul reelei. Pentru determinarea polinomului de grad mai mic sau egal cu

n ce

satisface relaiile:
Pn ( xi ) y i , i 0,1,..., n

Se pleac de la un polinom de forma:


Pn ( x) c0 c1 ( x x0 ) c2 ( x xn )( x xn 1 ) ... cn ( x xn )( x xn 1 )...( x x1 ) .

Coeficienii c0 , c1 ,...., c n se determin plecnd de la relaiil Pn ( xi ) yi , utiliznd


noiunile de diferene finite i putere generalizat. Cteva din proprietile diferenelor
finite se regsesc in sectiunea 8.2. Produsul x [ n ] x ( x h)....( x ( n 1)h) se numete
putere generalizat a lui

x. Pentru determinarea coeficientului

ci al polinomului de

interpolare Pn se utilizeaz diferena finit la stnga de ordinul i a lui Pn n x 0 . Se


obine
107

Pn ( x) f ( x0 )
......

n f ( x0 )
n!h

f ( x 0 )
2 f ( x0 )
3 f ( x0 )
[ 2]
( x x n )[1]
(
x

x
)

( x x n 2 ) [ 3]
n 1
1! h
2! h 2
3!h 3

( x x1 ) [ n ]

Aproximarea funciei prin polinomul Newton ascendent este avantajoasa pentru valorile

x din vecinatatea lui

x 0 , eroarea fiind mic pentru un

t in modul, mic.

Expresia de mai sus se poate pune intr-o forma mai avantajoas pentru aplicatii daca se
face schimbarea de variabila
t

x x0
h

si se tine seama ca
( x x0 )[ i ] x x0 x x0 h x x0 2h x x0 (i 1) h

...

hi
h
h
h
h
t (t 1)(t i 1)

pentru orice i=1,2,...,n.


Se obtine

Pn ( x) P ( x0 th) f ( x0 )

f ( x0 )
2 f ( x0 )
n f ( x0 )
t
t (t 1) ....
t (t 1)(t n 1)
1!
2!
n!

Aproximarea funciei f prin polinomul Newton descendent este avantajoas pentru


valorile

x din vecintatea lui

x0 , eroarea fiind mic pentru

t n modul mic.

8.3.3 Polinomul Newton de interpolare de spea II (descendent)


Fie f : [a, b] R o funcie, fie x0 , x1 ,...., xn , n + 1 puncte echidistante din intervalul [a,
b], i yi f ( xi ) pentru orice i 0,1,..., n .Ca i in cazul polinomului Newton ascendent
pentru determinarea polinomului Newton descendent se pleac de la un polinom de
forma:
Pn ( x) c0 c1 ( x xn ) c2 ( x xn )( x xn 1 ) ... cn ( x xn )( x xn 1 )...( x x1 )

108

Pentru exprimarea coeficienilor c0 , c1 ,..., c n se utilizeaz diferenele finite la stnga lui


yn .

Expresia
f ( x ) f ( x ) f ( x h )

se numete diferen finit (la stnga) de ordinul nti. Diferenele finite la stnga de
ordin superior se definesc cu ajutorul relaiei:
n f ( x ) ( n 1 f ( x ))

Se observ c intre diferenta finita la dreapta sic ea la stanfa exista relatia:


f ( x) f ( x h) .

Prin recurenta se poate arata ca


r f ( x) r f ( x rh )

In aplicaii, pentru calculul diferenelor finite la stnga se utilizeaz tabelul diagonal


urmtor:
f ( x0 )

f ( x1 )

f ( x3 ) . .. f ( xn 3 ) f ( x n 2 )

f ( x2 )

f ( x n 1 )

f ( xn )

f ( x1 ) f ( x 2 ) f ( x3 ) . f ( x n 2 ) f ( x n 1 ) f ( x n )
2 f ( x 2 ) 2 f ( x3 ) 2 f ( x n 2 ) 2 f ( x n )
3 f ( x3 ) 3 f ( x n )

.
.

.
.
n f ( xn )

Pentru determinarea coeficientului ci al polinomului de interpolare Pn se utilizeaz


diferena finit la stanga de ordinul i a lui Pn n x 0 . Se obine:

Pn ( x) f ( x0 )
......

n f ( x0 )
n!h

f ( x 0 )
2 f ( x0 )
3 f ( x0 )
[ 2]
( x x n )[1]
(
x

x
)

( x x n 2 ) [ 3]
n 1
2
3
1!h
2!h
3!h

( x x1 )[ n ]

109

Expresia polinomului de interpolare de mai sus poart denumirea de polinom Newton de


spea II (sau descendent). Expresia polinomului Newton descendent se poate pune sub o
form mai comod pentru aplicaii, dac se face schimbarea de variabil
t

x xn
h

Se obine
f ( x n )
2 f ( xn )
3 f ( xn )
t
t (t 1)
t (t 1)(t 2)
1!
2!
3!
n f ( xn )
....
t (t 1)....(t n 1)
n!

Pn ( x) Pn ( x n th) f ( x n )

Aproximarea funciei f prin polinomul Newton descendent este avantajoas pentru


valorile

x din vecintatea lui

x n , eroarea fiind mic pentru

t n modul mic.

Metoda de interpolare Newton are urmtoarele avantaje :


-

realizeaz un compromis maxim ntre efortul de construcie i cel de evaluare

algoritmul este stabil din punct de vedere numeric, avnd erori numerice
acceptabile ale rezultatelor;

permite mrirea gradului polinomului de interpolare prin inserarea unui nod nou
n reeaua de interpolare, cu reutilizarea coeficienilor de la gradul anterior, care
nu se modific, deci i un effort minim de calcul;

are posibilitatea de a controla eroarea de interpolare;

coeficienii polinomului de interpolare Newton reprezint diferenele divizate de


interpolare, ceea ce faciliteaz calculul numeric al polinomului;

Observaie Evident polinoamele Lagrange i Newton difer numai prin form, pentru
aceeai reea de puncte, restul fiind acelai n ambele forme. Ca volum de calcul n
schimb se prefer polinomul lui Newton care necesit un numr de operaii aritmetice de
O (3 N 2 / 2) fa

de O (4 N 2 ) pentru polinomul Lagrange. Necesarul de memorie este

acelai pentru ambii algoritmi. Aa cum s-a vzut n cazul polinomului de interpolare
Newton este nevoie de o matrice suplimentar n cares e memoreaza tabelul diferenelor
divizate, ns din tabele se folosesc doar N coeficieni , existnd posibilitatea refolosirii
celulelor de memorie. Aceasta este partea cea mai costisitoare a algoritmului Newton.

110

Cod de program Matlab-polinomul Newton cu diferene divizate


function [C , D ] =polnewton( X ,Y )
% X -vectorul nodurilor de interpolare
%

Y -vectorul valorilor funciei pe noduri

% C - vectorul ce conine coeficienii polinomului Newton


% D -vectorul diferenelor divizate
n = lenght ( X );

D = zeros ( n, n);
D (:,1) = Y' ;

for j = 2 : n
for k = j : 2
D (k , j ) = ( D( k , j 1) D( k 1, j 1))/( X (k ) X ( k j 1));

end
end
C = D ( n, n);

for k = (n 1) : 1 : 1
C = conv(C , poly ( X (k )));
m = lenght (C );

C ( m) = C ( m) D( k , k );

end

Exemplul 1
Pentru funcia f ( x) sin x i nodurile x0 = 0, x1 = 1/6, x2 = 1/2 , s se construiasc
un polinom de interpolare de gradul doi.
Soluie.
Deoarece nodurile sunt neechidistante vom folosi polinomul de interpolare
Newton cu diferene divizate conform tabelului:

111

xi

f ( xi )

F [ xi , x j ]

1/2 0
=3
1/6 0

1/6

1/2

1/2

1 1/2
= 3/2
1/2 1/6

F[ xi , x j , x k ]

3/2 3
= 3
1/2 0

nlocuind n expresia polinomului pentru n = 2 obinem:


N 2 f ( x ) = 0 3 ( x 0) 3 ( x 0)( x 1/6) = 7/2 3x 2 .

Exemplul 2
Calculai diferena divizat de ordinul patru pentru datele tabelei de mai jos:
x
0
1
2
4
5
y
0
16
48
88
0
Scriei polinomul Newton cu diferene divizate i calculai aproximativ valoarea
f (2.3) .

Soluie.
Calculm mai nti diferenele divizate iar rezultatele sunt date n tabela
i

ord. I

36

0
16
48
88

ord. II

ord. III

ord. IV
1

16
32
20
88

Se obine:
N 4 f ( x ) = 16 x 8 x ( x 1) 3 x ( x 1)( x 2) x ( x 1)( x 2)( x 4)
= x

4 x 3x

10 x

Valoarea interpolat este y (2.3) N 4 f (2.3) = 59.8539 .


Exemplul 3
Gsii polinomul de interpolare Newton asociat tabelei de date:

112

xk

10

1
3
8
20
folosind interpolarea Newton cu diferene la dreapta.
yk

Indicaie.
Se vor calcula diferenele finite la dreapta folosind tabelul de mai sus i vom avea
n final
N 3 ( x) =

1
(2 x 3 27 x 2 142 x 240) .
24

CURS 9
Valori i vectori proprii
Valorile i vectorii proprii joac un rol fundamental n descrierea matematic a unor
categorii largi de procese tehnice, economice, biologice etc. De exemplu, proprieti
eseniale cum sunt cele referitoare la stabilitatea sistemelor dinamice autonome modelate
printr-un sistem de ecuaii difereniale liniare:
dx
Ax
dt

113

T
n care x ( x1 , x2 ,..., xn ) este vectorul variabilelor de stare, exprimat prin intermediul

valorilor proprii ale matricei [A], numita matrice de stare. Astfel, valorile proprii pot
corespunde unor valori critice ale valorilor unor unor parametri ai sistemului dinamic,
unor frecvente de oscilatie cand sunt complex conjugate.
Fie A o matrice cu n linii i n coloane cu coeficienii din corpul K, unde K este R sau C.
Scalarul din K se numete valoare proprie pentru A dac exist vectorul x K n astfel
nct:
Ax= x
Vectorul x se numete vector propriu asociat valorii proprii . Relaia Ax=x poate fi
scris echivalent (I n A) x 0 , unde I n este matricea unitatea de ordinul n. Sistemul
liniar omogen (I n A) x 0 admite o soluie nenul x dac i numai dac
det(I n A) 0 . Polinomul PA ( ) det(I n A) se numete polinom caracteristic al

matricei A si det(I n A) 0 se numete ecuatia caracteristica. Orice matrice cu


coeficieni complecsi are exact n valori proprii (reale sau complexe, nu neaprat
distincte). Acestea sunt rdcinile polinomului caracteristic. Rdcinile polinoamelor de
grad mai mare dect strict ca patru nu pot fi ntotdeauna calculate ntr-un numr finit de
pai. Astfel calculul valorilor proprii se face iterativ. Calculul valorilor proprii ca rdcini
ale polinomului caracteristic nu este de obicei recomandabil din cauza
volumului de calcul necesar pentru gsirea coeficienilor polinomului
volumului de calcul necesar gsirii rdcinilor polinomului
Multiplicitatea (algebric) valorii proprii este dat de multiplicitatea ei ca rdcin a
polinomului caracteristic. Vectorii proprii asociai valorii proprii formeaz un subspaiu
vectorial al lui K n invariant la A . Dimensiunea subspaiului vectorilor proprii asociai
lui se numete multiplicitatea geometric a lui .
Dac este valoare proprie pentru A i este un scalar oarecare, atunci - este valoare
proprie pentru A I n .
Ansamblul

valorilor

proprii

ale

matricei

formeaza

spectrul

matricei

( A) {1 , 2 ,...n } ; numarul ( A) max i se numeste raza spectrala a lui A.


( A )
i

114

Daca A are n vectori proprii liniar independenti se numeste simpla sau nedefectiva. In caz
contrar se numeste defectiva. O matrice simpla are toate valorile proprii simple.
Dac Ax = x, atunci A k x k x . Astfel valorile proprii ale puterii k a matricei A
sunt puterile k ale valorilor proprii ale matricei A. Mai general, dac p este un polinom i
Ax = x, atunci p(A)x = p()x.
Teorema 9.1 Doua matrici cu elemente reale, A, B M nn sunt similare daca si numai
daca exista o matrice nesingulara S M nn astfel ca
B S 1 AS

operatie care se numeste transformare similara a matricii A.


Teorema 9.2 Doua matrici similare au aceleasi valori proprii. Vectorii proprii
corespunzatori rezulta unii din altii cu ajutorul matricii transformarii.
Teorema 9.3 Doua matrice similare au acelasi polinom caracteristic.
Dac A i B sunt dou matrice similare, atunci ATx = Tx dac i numai dac Bx = x.
Deci A i B au aceleai valori proprii i dac x este un vector propriu pentru B, atunci Tx
este un vector propriu pentru A. Folosind aceast observaie, pentru determinarea
valorilor i vectorilor proprii asociai lui A se determin o matrice B similar cu A cu
form convenabil. Dac B are form diagonal sau mai general triunghiular, atunci
elementele de pe diagonala principal reprezint valorile proprii.
Matricile similare cu o matrice diagonala se numesc matrici diagonalizabile.
Importanta procesului de diagonalizare
Daca se poate gasi o transformare care diagonalizeaza matricea:
valorile proprii se afla pe diagonala principala a matricii transformate
vectorii proprii corespunzatori sunt coloanele matricii transformarii.
Metodele de determinare a valorilor proprii se clasifica:
- dup numrul valorilor proprii determinate:

metode globale determin toate cele n valori proprii i toi cei n vectori
proprii,

115

metode pariale determin numai anumite valori proprii i vectorii proprii


afereni;

- dupa natura algoritmului de calcul

metode directe determin explicit polinomul caracteristic i calculeaz valorile


proprii prin rezolvarea ecuaiei caracteristice ,

metode indirecte sau iterative evit rezolvarea ecuaiei caracteristice


determinnd valorile proprii prin procedee de aproximaii succesive bazate pe
transformri de similaritate.

Relativ la a doua categorie pentru metodele globale directe rezumam:


Determin toate valorile proprii ale matricei A prin obinerea explicit a ecuaiei
caracteristice, care poate fi rezolvat apoi cu unul din algoritmii din capitolul urmtor.
Dup determinarea valorii proprii i se parcurg etapele pentru determinarea vectorului
propriu xi :
(a) Se nlocuiete i n sistemul ( A I ) x 0 liniar i omogen, de ordinul n, cu
matricea coeficienilor singular.
(b) Se fixeaz arbitrar valoarea unei variabile (de regul, x1 1 )
(c) Se nlocuiete valoarea fixat n sistemul de la (a) i se renun la ecuaia
corespunztoare valorii proprii respective, i
(d) Se rezolv sistemul liniar de ordinul n1 de la punctul (c) aplicnd una din metodele
din capitolul rezervat rezolvarii sistemelor de ecuatii liniare.
Pentru metodele iterative ne vom opri in cursul de fata la metoda iterativa Jacobi de
calcul a valorilor si vectorilor proprii.
Pentru calculatia practica ( 3 > n ), nu se recomanda:
- Calculul direct al valorilor proprii, prin rezolvarea ecuaiei caracteristice .
Aceasta, datorita faptului ca problema calculului radacinilor unui polinom este foarte
sensibila la mici perturbatii n coeficienti (aceste perturbatii apar din erorile de rotunjire).
- Calculul direct al vectorilor proprii, din sistemul (I n A) x 0 .
Metoda Jacobi de determinare a valorilor i vectorilor proprii

116

In general nu se recomanda determinarea valorilor proprii ale unei matrice pe calea


rezolvarii numerice a ecuatiei caracteristice deoarece radacinile unui polinom sunt foarte
sensibile la modificari a coeficientilor polinomului. Metoda recomandata este sa se
aduca printr-un procedeu oarecare matricea la forma diagonala si atunci valorile proprii
se determina global, ele fiind elemntele de pe diagonala principala. Se urmareste deci
prin transformari de similitudine care nu modifica valorile proprii, sa micsoram eventual
pana la disparitie elementele nediagonale ale matricei, astfel incat la final se obtine
practic matricea diagonala.
Metoda acioneaz asupra matricei A M nm cu o serie de transformri care s conduc
la obinerea unei matrici D similar cu A . Transformarea de rotaie ce st la baza
algoritmului reduce matricea A la o matrice diagonal D similar cu A unde D are
pe diagonala principal valorile proprii ale matricei A. S considerm matricea de
rotaie plan R ( s, q ) M nn
1

1
cos

R ( p, q ) =

sin

sin

(9.1)

cos

unde p < q si rpp = rqq = cos


rpq = rqp = sin

rii = 1, i p i q

rij = 0 in rest

Identificarea valorilor p, q se va face astfel nct s avem


a pq = max a ij
1i j n

Deoarece matricea este simetric cutarea elementului maxim de mai sus se poate
restrnge la triunghiul superior al matricei.

117

Deci matricea A a fost transformat cu ajutorul unei transformri similare


ortogonale n matricea A1 , adic
A1 = R T (q, p ) A R (q, p ).

(9.2)
'

Relaia (9.2) conduce la urmtorul algoritm de calcul pentru coeficienii aij ai matricei

A' n funcie de elementele aij ale matricei A i de unghiul

de

rotaie:
a ' pi a pi cos aqi sin , i p, q
a 'ip aip cos aiq sin , i p, q
a 'qi a pi sin aqi cos , i p, q
a 'iq aip sin aiq cos , i p, q
a ' pp a pp cos 2 aqq sin 2 2a pq sin cos
a 'qq aqq sin 2 aqq cos 2 2aqp sin cos
a 'qp aqp cos 2 1 / 2( aqq a pp ) sin 2
a ' pq a pq cos 2 1 / 2( aqq a pp ) sin 2

Rotaia n planul ( q, p ) are rolul s anuleze coeficienii aqp si a pq adic aqp = a pq = 0,


atunci rezult valoarea lui

din
tan 2 =

2aqp
app aqq

, p < q.

Cu ajutorul relaiei (9.2) se poate defini un ir de matrici similare prin schimbarea lui q
cu p , obinndu-se
A1 = A
A2 = R1T A1 R1
..........................
Ak 1 = RkT Ak Rk
..............................

unde fiecare transformare similar ortoganal are drept scop s anuleze 2 elemente
simetrice din afara diagonalei principale. Elementul aqp este denumit pivotul rotaiei
plane din planul ( q, p ).
Sirul de iteraii de mai sus trebuie continuat pn cnd suma ptratelor
elementelor

din

afara

diagonalei

principale

matricei

118

Ak 1

este mai mic dect

> 0.

Dac aceast condiie este ndeplinit , atunci elementele de pe diagonala principal a


matricei

Ak 1

aproximeaz

destul

de

bine

valorile

proprii

ale

matricei

considerate.

Sirul de iteraii se mai poate scrie sub forma:


Ak 1 = ( R1 R2 R3 ...Rk ) T A1 ( R1 R2 ...Rk )

(9.3)

unde produsul primelor k matrici de rotaie plane este R = R1 R2 ...Rk .


n 1959 Murray i von Neumann au artat c matricea R este destul de aproape
de matricea care are drept coloane vectorii proprii ai matricei A , adic:

R T AR D

(9.4)

Coloanele matricei R aproximeaz vectorii proprii ai matricei A . Coloana

reprezint vectorul propriu

valorii proprii

j,

corespunztor

de unde reiese c algoritmul Jacobi permite

calculul aproximativ pentru valorile i vectorii proprii ai matricei A.


De notat c irul matricilor construit cu metoda lui Jacobi este convergent i

lim Ak = diag (1 , 2 ,.. n )


k

(9.5)

unde i sunt valorile proprii ale matricei A.

119

Transformrile de rotaie aplicate matricei A, nu vor conduce ntotdeauna la o


matrice diagonal, dei elementele nediagonale pot deveni n modul din ce n ce mai
mici. Apropierea de o matrice diagonal se va caracteriza prin suma ptratelor
elementelor diagonale, notat cu sk :

n
s = aii2 .
k i1
Obinem astfel i o condie de oprire a procesului iterativ:
s k 1 s k

unde

reprezinta precizia aproximrii.


n aplicaii vom utiliza urmtoarele mrimi i notaii utile determinrii irului de

matrici de rotaie i implicit a valorilor proprii matricii


=

aqq a pp
2apq

, atunci tan =

sgn( )

1 2

A.

Dac notm cu

, pentru 0 si tan = 1 , pentru = 0. De

aici vom calcula :


cos =

1
1 tan 2

, sin = cos tan .

(9.6)

Algoritm-metoda lui Jocobi de calcul a valorilor proprii


Date de intrare

-dimensiunea matricei A

a (i, j ), i, j = 1,..., n - elementele matricei simetrice

eps precizia
Date de ieire

j = 1,..., n

-valorile diagonale ale matricei

120

s1 = eps 1

eps

ct timp s1
max=

a (1,2)

p = 1, q = 2;

pentru i = 1, n
pentru j = i 1, n
dac max<
max=

a (i , j )

a (i , j )

p = i, q = j;

dac a( p, p ) = a (q, q ) atunci


c=

2 /2, d =

2 /2;

altfel
c = cos ( arctan (2a ( p, q )/( a ( p, p ) a ( q, q )))/2)

s = sin( arctan (2a ( p, q )/(a ( p, p ) a ( q, q )))/2)


a ( p, p ) = a ( p, p )c 2 a ( q, q ) s 2 2a ( p, q ) sc

a ( q, q ) = a ( p, p ) s 2 a ( q, q )c 2 2a ( p, q ) sc
a( p, q) = (a(q, q) a( p, p))sc (c2 s2 )bpq

pentru i = 1, n
dac (i p )

si

(i q ) atunci

a(i, p) = a(i, p)c a(i, q) s


a ( p, i ) = a (i, p )

a(i, q) = a(i, p)s a(i, q)c


121

a (q, i ) = a (i, q )
pentru j = 1, n
dac ( j p ) si ( j q ) atunci
a (i , j ) = a (i , j )

a ( j , i ) = a (i, j )

s1 = 0

pentru i = 1, n
s = s a (i, i ) a (i, i )

pentru i = 1, n
i = aii

Exemplul 1
Calculai valorile i vectorii proprii asociat matricei A .

A =

3
1
0

1
2
1

1
3

Soluie
Valorile proprii ale matricei vor fi soluiile ecuaiei caracteristice
det ( A I ) = 0

3 1 0
det 1 2 1 = 0 ( 3)(2 5 4) = 0 1 = 3, 2 = 1, 3 = 4
0 1 3

Calculul vectorilor proprii asociai acestor valori. Pentru fiecare valoare proprie vom
calcula i vectorul propriu asociat.
Pentru = 1 avem conform (4.1)
3 1 0 x1 x1


1 2 1 x2 = x2
0 1 3 x x

3 3

Obinem sistemul
2 x1 x2 = 0
x1 x2 x3 = 0
x 2x = 0
2
3

122

cu soluia x1 = a, x2 = 2a, x3 = a .
Vectorul propriu asociat este deci
1

X = a 2 , a R
1

Analog se calculeaz vectorii proprii asociai valorilor proprii = 3, = 4 pentru care se


obin valorile corespunztoare:

= a

si

= a

, a R

Matricea vectorilor proprii pentru a = 1 este


1

X = 2
1

0
1

pentru care se verific relaia X 1AX = D .


Matricea diagonal, D va conine pe diagonala principal valorile proprii ale
matricei A.

1
0
0

D =

0
4

0
3
0

Exemplul 2
S se gaseasc cu metoda lui Jacobi, valorile si vectorii proprii asociai matricei
simetrice:

A =

3
1
1

1
3
1

1
3

Soluie
Se caut elementul apq = 1 i j n max aij al matricii

p = 1,

a12 = 1;

q = 2;

a pp = 3 ,

aqq = 3;

= 0 tan = 1.

Se calculeaz astfel pe baza formulelor (4.7)


n

baza

lui

(4.4)

se

construiete

cos = sin =

matricea

de

rotaie

1
.
2

asociat

matricii

A :

R
1

1/
2
1/
0

1/
1/
0

2
2

0
0

Conform cu relaia (4.5) se construiete o matrice similar


2 0 0

A1 = R AR1 = 0 4 2 .
0 2 3

t
1

123

Se continu algoritmul de generare a matricilor similare.


a23 =

1
2 2

2 = 1 i j n max aij p = 2; q = 3;

; tan =

2
cos =
2

1 0

R2 = 0
2/ 3
0 1/ 3

A2 = R AR2 = 0
0

t
2

0
5
0

2
1
, sin =
3
3

1/ 3
2 / 3

0 1 = 2, 1 = 5, 1 = 2.
2

CURS 10
Integrare numeric
124

Fie, pe intervalul [a, b] este definit o funcie y f (x ) .


Vom diviza intervalul [a, b] n segmente elementare

[ xi 1 , xi ]

(i=1,2,n),

x0 a, x n b . Pe fiecare segment vom alege cte un punct arbitrar i i (xi-1 xi) i


vom calcula
s i f ( i ) * xi , unde xi xi xi 1
n

suma S n s1 s 2 ... s n f ( i )xi , se numete suma integral.


i 1

Numim integral definit a funciei f(x) pe intervalul [a, b] limita sumei integrale cnd
numrul de puncte de divizare crete la infinit. n acest caz lungimea celui mai mare
segment elementar tinde spre zero
b

f ( x )dx

lim

max xi 0

f (
i 0

) x i

Teorema de existen a integralei definite.


Dac f(x) este continu pe [a, b], atunci limita sumei integrale exist i nu depinde nici
de modul de divizare al intervalului [a, b] n segmente elementare, nici de modul de
selectare a punctelor i.

Mn
Mn-1

y=f(x)
Mi
M2
M1

s1 s2 si

sn-1

sn

a 1 2

Sensul geometric a acestor noiuni


pentrui cazul f ( x) 0 n este ilustrat n figura de mai
0
fx( i ) .
sus. Abscisele punctelor Mxi snt
i, iar
x1valorile
x2xi-1 x
x ordonatele
x xn-1
0
i i n-2
n
x
si snt ariile dreptunghiurilor
elementare, dar suma integral aria figurii, formate din
aceste dreptunghiuri. Cnd numrul dreptunghiurilor crete i xi tinde spre 0, linia frnt
care mrginete figura de sus trece n y f (x) .
Aria acestei figuri, care se mai numete trapez curbiliniu, este egal valorii integralei
definite. n cazurile cnd f (x) este exprimat analitic, integrala poate fi calculat cu
ajutorul formulei Newton Leibnitz:
125

b
f
(
x
)
dx

F
(
x
)
F (b) F (a)
a
a
ns, n practic, formula dat nu poate fi folosit din urmtoarele cauze:
1. expresia analitic nu permite integrare direct;
2. valorile f (x ) snt cunoscute numai n numr finit de puncte xi cu alte cuvinte,
funcia este exprimat tabelar.
n astfel de cazuri snt folosite metodele de integrare numeric. Cea mai simpl metod
este metoda dreptunghiurilor, care direct folosete nlocuirea integralei definite cu suma
integral.
n calitate de puncte

se aleg marginile din stnga ( i xi 1 ) (metoda

dreptunghiurilor de stnga), sau din dreapta ( i xi ) (metoda dreptunghiurilor de


dreapta), sau punctele din mijlocul segmentelor elementare( i xi 1 xi / 2 ) (metoda
dreptunghiurilor medii)
Dac notm f ( xi ) y i
xi hi

Xi-1

Xi

Xi +1

0
b

f ( x)dx h y
1

h2 y1 ... hn y n 1 Rn

(metoda dreptunghiurilor de stnga)

126

x0=a x1 x2

x0=a x1 x2

xn=b

xn=b

x0=a x1 x2

xn=b

0 sau

f ( x)dx h y

h2 y2 ... hn yn Rn

1 1

(metoda dreptunghiurilor de dreapta)


Sau, n cazul cnd snt folosite valorile funciei n punctele din mijloacele segmentelor:
b

xi 1 xi
Rn
2

f ( x)dx hi f
i 1

(metoda dreptunghiurilor medii).


Unde Rn este eroarea calculului aproximativ.
Pentru integrare numeric se folosete i metoda trapezelor, n care funcia f (x ) prin
interpolare liniar se aproximeaz printr-o linie frnt. Aria trapezului curbiliniu se
aproximeaz cu suma ariilor trapezelor dreptunghice:
b

f ( x)dx h
a

i 1

f ( xi 1 ) f ( xi )
Rn
2

(metoda trapezelor).
Pentru a efectua calculul integralei cu aproximarea prestabilit , n cazul cnd f (x )
este definit analitic, cel mai convenabil este s mprim intervalul de integrare n n
segmente egale (h=(b-a)/n) i s folosim estimarea aposteriori a erorii dup regula lui

127

Runge. n acest caz nu trebuie s calculm derivatele de ordinul nti i doi ale funciei
f (x ) , i s cutm valoarea maxim a derivatei de ordinul doi.

Regula lui Runge pentru metoda dreptunghiurilor i metoda trapezelor:


Ih-Ih/2 /3< , unde
Ih-suma integral calculat pentru h (b a ) / n
Ih/2-suma integral calculat pentru h (b a) / 2n , adic numrul dublu de intervale
elementare de integrare.
Aproximarea este i mai bun dac Ih-Ih/2 < . Anume n aa form vom folosi regula
lui Runge pentu oprirea procesului iterativ de calcul a integralei definite (ariei trapezului
curbiliniu)
Formula dreptunghiurilor pentru calculul aproximativ al integralei.
Una dintre cele mai des aplicate implementri ale calculului numeric este calcularea
integralei definite prin metode aproximative. Metodele directe nu ntotdeauna permit
calculul analitic al integralei, i, de multe ori formula care efinete funcia ce trebuie
integrat nici nu e cunoscut. De obicei sunt date doar o serie de puncte n care este
cunoscut valoarea funciei. n aceste cazuri

y
f(x)

0
a

x
Fig. 1
128
Sensul geometric al integralei
defiinte

integrala poate fi calculat doar prin metode aproximative (n presupunerea c funcia de


sub integral este continu pe segmentul pe care se face integrarea).
Din cursul de analiz matematic se tie, c sensul geometric al integralei definite este
aria trapezului curbiliniu, determinat de axa 0X, dreptele y = a i y = b, i graficul
funciei f(x) pe segmentul [a,b] (vezi fig. 1)
Metoda dreptunghiurilor (aparatul matematic)
Fie f o funcie derivabil pe [a,b] i M supx[fa ,'b(] x )

y
f(x)

a = x0 x1 x2

Considerm o
segmentului

...

xn-1

xn = b

Fig. 2
Divizarea segmentului iniial n segmente elementare i
aproximarea pe fiecare din ele (varianta dreptunghiuri de
mijloc /medii/ )

diviziune
[a,b]

a
n

forma
a = x0 < x1 < x2 < < xn-1 < xn = b
Pe fiecare din segmentele [xi, xi+1] vom aproxima suprafaa trapezului curbiliniu cu aria
dreptunghiului cu baza h = |xi, - xi+1| iar nlimea egal cu valoarea funciei n unul din
punctele:
a) x = xi atunci metoda se numete a dreptunghiurilor de stnga
b) x = xi+1 atunci metoda se numete a dreptunghiurilor de dreapta

129

c) x=(xi,+ xi+1)/2 atunci metoda se numete a dreptunghiurilor medii

g(x)= f(xi)

g(x)= f(xi+1)

a= x0 x1 x2

xn-1 xn = b

a= x0 x1 x2

xn-1 xn = b

Fig. 4 Integrala definit este aproximat n primul caz prin dreptunghiuri de stnga, n al
doilea - prin dreptunghiuri de dreapta.
Pentru simplitate, vom considera segmentele [ xi , xi 1 ] egale. Atunci lungimea
segmentului va fi de
h ba /n

iar punctele xi vor putea fi determinate de formula xi a i * h


Dreapta y= ( x i + xi 1 )/2 [corespunztor y=xi pentru metoda dreptunghiurilor de stnga
i y=xi+1 pentru metoda dreptunghiurilor de dreapta ] este graficul unei funcii constante
(a polinomului de interpolare Lagrange de grad 0, care aproximeaz funcia pe segmentul
elementar [xi, xi+1] prin mijlocul lui. [corespunztor prin extremitatea stng pentru
metoda dreptunghiurilor de stnga i prin extremitatea dreapt - pentru metoda
dreptunghiurilor de dreapta])
n acest caz valoarea integralei definite pe segmentul [a,b] pentru funcia f se va
aproxima conform formulei

130

n 1

n 1

i 0

i0

f ( z )dz ( xi 1 xi ) f (( xi 1 xi ) / 2) h f (( xi 1 xi ) / 2)

n 1

i 0

f ( z)dz ( x
b

i 1

pentru dreptunghiuri medii

n 1

xi ) f ( xi ) h f ( xi ) pentru dreptunghiuri de stinga


i 0

n 1

n 1

i 0

i 0

f ( z )dz ( xi 1 xi ) f ( xi 1 ) h f ( xi 1 ) pentru dreptunghiuri de dreapta

Pentru calculul numeric transformarea integralei ntr-o expresie aritmetic (sum) care
depinde doar de numrul de diviziuni ale segmentului (acest numr sau e dat apriori, sau
e stabilit n procesul de calcul) i de valoarea funciei n nodurile de interpolare (valoare
care este de asemenea dat sau poate fi calculat) este foarte comod procedura de
calcul devine elementar.
Determinarea erorii de calcul (marginea superioar).
Eroarea de interpolare pe un interval elementar se estimeaz ca modulul diferenei ntre
valoarea exact a funciei pe interval i funcia de interpolare. Corespunztor, eroarea de
la integrare prin funcia de interpolare va fi integrala erorii de interpolare. Pe un segment
elementar eroarea de interpolare este:
f ( z ) g ( z ) M ( z ( xi 1 xi ) / 2)

unde ( xi 1 xi ) / 2 punctul de interpolare, iar g(z) funcie constant = f (( xi 1 xi ) / 2)


pentru metoda mediilor; g ( z ) f ( xi ) pentru metoda dreptunghiurilor de stnga;
g ( z ) f ( xi 1 ) pentru metoda dreptunghiurilor de dreapta

Estimarea erorii o facem prin integrarea diferenei

f ( z) g ( z)

utiliznd nlocuirea

variabilei x prin t:
x x(t ) ( xi 1 xi ) / 2 t ( xi 1 xi ) / 2

131

xi 1

f ( z )dz

xi

xi 1

xi

xi 1

x xi 1

g z, i
dz
2

xi 1

f ( z ) g ( z,

xi

xi xi 1
) dz
2

| (z

xi

xi xi 1
x xi 1 xi 1 xi
x xi 1 xi 1 xi
) | dz M | i

t i
|
dt
2
2
2
2
2
1

xi 1 xi

21

1
xi 1 xi
x xi
2 | t |dt M i 1
2*
2
2
2

| t |dz M

Prin urmare eroarea total va fi


xi 1 xi

nM

ba
h2 b a
h
h
M

M (b a ) M
h
4
1
4
4

Formula dat ne permite s stabilim apriori, care este numrul necesar de iteraii pentru
obinerea unei erori mai mici dect cea prestabilit:

(b a ) M

h M (b a ) 2
M (b a ) 2


n
4
4n
4

O metod mai simpl, care ne ferete de riscul obinerii unor valori din afara
diapazonului admisibil este cea bazat pe divizarea binar a intervalului de iteraii. Vom
selecta o valoare maximal posibil pentru n 2 numrul iniial de iteraii i 0 pentru n1
numrul minim posibil de iteraii. Deoarece eroarea este o expresie, ce depinde de
numrul de iteraii, calculm eroarea pentru n (n1 n2 )div 2 un numr mediu de
iteraii. Dac eroarea obinut e mai mic dect cea cerut, considerm n2 n
(micorm numrul maxim de iteraii), n caz contrar n1 n (mrim numrul minim de
iteraii)
Acesta e un proces de divizare binar i va continua att timp ct n1 < n2 Va fi nevoie de
log2 (maxlongint div 2) verificri pentru a stabili exact numrul minim necesar de iteraii
pentru obinerea exactitii date.

132

Algoritmizarea problemei varianta mediilor

1. Se introduc limitele de integrare a,b.


2. Se stabilete numrul necesar de divizri n
3. Se calculeaz pasul de deplasare h
4. Pornind de la a calculm mijlocurile segmentelor elementare zi i ariile
dreptunghiurilor elementare.
5. Summ ariile elementare.
6. Afim rezultatul.
Algoritmizarea problemei varianta dreptunghiurilor de stnga
1. Se introduc limitele de integrare a,b.
2. Se stabilete numrul necesar de divizri n
3. Se calculeaz pasul de deplasare h
4. Pornind de la a calculm extremitile stngi ale segmentelor elementare zi i ariile

dreptunghiurilor elementare.
5. Summ ariile elementare.
6. Afim rezultatul.

Algoritmizarea problemei varianta dreptunghiurilor de dreapta


1. Se introduc limitele de integrare a,b.
2. Se stabilete numrul necesar de divizri n
3. Se calculeaz pasul de deplasare h
4. Pornind de la a calculm extremitile drepte ale segmentelor elementare zi i ariile

dreptunghiurilor elementare.
5. Summ ariile elementare.
6. Afim rezultatul.

Formula trapezelor pentru calculul integralei.

133

n paragraful precedent am folosit pentru aproximarea funciei integrale funcii


constante, care coincid cu valoarea funciei ntr-un singur punct (nceputul, mijlocul sau
sfritul segmentului elementar, pe care se face aproximarea) Este logic dezvoltarea
metodei prin interpolarea mai exact a funciei de sub integral, de exemplu cu
polinoame de interpolare Lagrange de grad 1 (funcia de interpolare va coincide cu
funcia integral n 2 puncte). n calitate de noduri de interpolare vom folosi extremitile
segmentului elementar [ xi , xi 1 ] pe care realizm interpolarea.
Grafic procesul de aproximare a funciei l putem urmri n fig. 1
Funcia de aproximare va fi o funcie liniar ce va trece prin punctele
( x i , f ( xi ), xi 1 , f ( xi 1 ))

y
f(x)

a = x0 x1 x2

...

xn-1

xn = b

Fig. 1 Divizarea segmentului iniial n


segmente elementare i aproximarea pe
fiecare din ele

Metoda trapezelor (aparatul matematic)


Pentru a avea posibilitatea de a aplica metoda trapezelor, vom cere suplimentar ca funcia
integral s fie de dou ori derivabil.

134

Fie f o funcie de dou ori derivabil pe [a,b] i M supxf[ a',b' (] x)


Considerm o diviziune a intervalului [a,b] n forma
a = x0 < x1 < x2 < < xn-1 < xn = b
Pe fiecare din segmentele [xi, xi+1] vom aproxima suprafaa trapezului curbiliniu cu aria
trapezului cu baza h = |xi, - xi+1| , laturile laterale cu lungimile f(xi,) i f(xi+1) iar latura
superioar dat de segmentul cu extremitile ( xi , f ( xi )) i ( xi 1 , f ( xi 1 )) .
Ca i n cazul formulei dreptunghiurilor vom considera segmentele [xi, xi+1] egale.
Lungimea segmentului elementar va fi de

h ba /n

iar punctele xi vor putea fi

determinate de formula xi a i * h
Atunci valoarea integralei definite pe un segment elementar [xi, xi+1] pentru funcia f(x) se
va aproxima conform formulei
xi 1

xi1

xi

xi

g ( z )dz

z xi
f ( xi 1 )dz
xi 1 xi

xi 1

xi

z xi 1
x x
f ( xi )dz i 1 i ( f ( xi 1 ) f ( xi ))
xi xi 1
2

iar pentru ntreg segmentul [a,b] vom obine


b

xi 1

n 1

g ( z )dz
n 1

h
i 0

xi
f ( xi 1 ) f ( xi )
2
i 0

z xi
f ( xi 1 )dz
xi 1 xi

xi 1

xi

n 1

z xi 1
x x
f ( xi ) dz i 1 i ( f ( xi 1 ) f ( xi ))

xi xi 1
2
i 0

Determinarea erorii de calcul (marginea superioar).


Eroarea de interpolare pe un interval elementar se estimeaz ca modulul diferenei ntre
valoarea exact a funciei pe interval i funcia de interpolare. Corespunztor, eroarea de
la integrare, exprimat prin funcia de interpolare va fi integrala erorii de interpolare. Pe
un segment elementar eroarea de interpolare (conform formulei pentru estimarea erorii de
interpolare Lagrange) va fi:
f ( z ) g ( z , xi , xi 1 ) M * ( z xi 1 )( z xi ) / 2!

unde

xi , xi 1 punctele de interpolare,

M supremul derivatei 2 pentru funcia f (z ) pe segmentul elementar [ xi , xi 1 ] .


Atunci eroarea de integrare pe segmentul elementar e de
135

xi 1

f ( z ) dz

xi

xi 1

g z, x , x dz
i

i 1

xi

xi 1

xi

f ( z ) g ( z , xi , xi 1 ) dz

xi

M ( z xi )( z xi 1 )
M
dz
2
2

M
2

xi 1

xi 1

| z

( xi xi 1 ) z xi xi 1 | dz

xi

xi 1
xi 1
3
3

M xi 1 xi
2
z
dz

(
x

x
)
z
dz

x
x
1
dz


i
i 1
i i 1
2
3
xi

xi
xi

xi 1

3
3
2
2
xi xi 1 xi xi 1
M xi 1 xi
M
M
2
2

xi xi 1 xi xi 1
( xi 1 xi ) 3


2
2
2
2
12

Eroarea de integrare pe tot segmentul poate fi privit ca suma erorilor de integrare pe


segmentele elementare, prin urmare poate fi estimat prin formula:
n 1

f ( z) g ( z)
i0

n 1
Mi
M
M
ba M 3
M
( xi 1 xi )3 ( xi 1 xi )3 n ( xi 1 xi )3
h (b a ) h 2
12
12
h 12
12
i 0 12

unde
M este supremul derivatei de ordin 2 al funciei integrate pe segmentul [a,b]
h lungimea unui segment elementar
Formula dat ne permite s stabilim apriori, care este numrul necesar de iteraii pentru
obinerea unei erori mai mici dect cea prestabilit:

(b a ) M

h 2 M (b a )3

12
12n 2

M (b a)3
n2 n
12

M (b a )3
12

Pentru metoda trapezelor aceast formul este mai puin util din cauza convergenei
rapide a metodei de obicei numrul de divizri necesare este destul de mic. n anumite
condiii, totui ea poate optimiza procesul de calcul i poate fi utilizat direct pentru
stabilirea numrului de iteraii necesare.

136

Algoritmizarea problemei

Varianta A (pentru numrul cunoscut de divizri)


1. Se introduc limitele de integrare a,b.
2. Se indic numrul de divizri n
3. Se calculeaz pasul de deplasare h (pentru cazul cnd e cunoscut numrul de
divizri)
4. Pornind de la a calculm valorile funciei n extremitile segmentelor elementare
i ariile trapezelorlor.
5. Summ ariile elementare.
6. Afim rezultatul.
Varianta B (pentru exactitatea fixat)
1. Se introduc limitele de integrare a,b i sup(f(x)) pe [a,b].
2. Se indic exactitatea cerut
3. Se fixeaz sistemul de noduri pentru divizarea segmentului [a,b] (iniial poate fi
considerat din 2 puncte extremitile segmentului [a,b] )
4. Pornind de la a calculm valorile funciei n extremitile segmentelor elementare i
ariile trapezelor.
5. Summ ariile elementare.
6. Estimm eroarea conform formulei. Dac eroarea este mai mare dect exactitatea
cerut, mai adugm un nod la divizarea curent, apoi repetm paii 4-5, n caz
contrar afim rezultatul. Sfrit.
Algoritm metoda trapezelor generalizat
Date intrare
a, b capetele
f

intervalului

- funcia de integrat

n - numrul de diviziuni ale intervalului


Date ieire

137

s - valoarea aproximant a integralei


s=0
h = (b a )/n

pentru i = 1, n 1
execut
x = a ih
s = s f ( x)

s = 0.5h( f ( a ) f (b) 2 s )

Algoritm metoda Simpson generalizat


Date intrare
a, b capetele
f

intervalului

- funcia de integrat

xi , i = 0,.., n - nodurile formulei de cuadratur

Date de ieire

s - valoarea aproximantei integralei


s=0
h = (b a )/n

pentru i = 1, n 1
execut
s = s f ( xi 1 ) f ( xi ) f ( xi 1 )
s = s h/3

S implementm o rutin Matlab care realizaz reprezentarea grafic a metodei


repetate a trapezului:
function grafic_trapez(a,b,n,f)
%functie care reprezinta grafic (intuitiv) formula repetata a
trapezelor
%parametrii
%

a,b ->limitatele de integrare

n ->numarul de noduri

f ->functia care se integreaza

138

h=(b-a)/n;
for i=1:n+1
x(i)=a+(i-1)*h;
end
%in x am pus nodurile intermediare
clf
hold on
t=a:h/10:b;
plot(t,feval(f,t),'r-','LineWidth',8);
for i=1:n
x1=[x(i),x(i),x(i+1),x(i+1),x(i)];
y1=[0,feval(f,x(i)),feval(f,x(i+1)),0,0];
fill(x1,y1,'c','LineWidth',2);
end
line([a,b],[0 0],'LineWidth',4)
hold off

Vom apela in fereastra de comand, funcia de mai sus cu urmtorii parametrii:


grafic_trapez(0,2,10,'f')

unde f, reprezint numele unei funcii crate cu editorul de text al Matlab-lui:


function v=f(x)
v=sin(x);

Rezultatul apelrii funciei l reprezint graficul:


1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

139

Funciile Matlab de calcul al integralei unei funcii cu regula trapezului sunt:


z=trapz(x,y)

- reprezint integrala lui y n raport cu x, unde x i y sunt vectori de


aceeai lungime;

x=0:0.1:5;
y=humps(x);
z=trapz(x,y)
z =
12.4229

Se va observa c dac vom crete numrul subintervalelor vom obine o mai bun
aproximare a valorii integralei funciei humps(x).
x=0:0.05:5;
y=humps(x);
aria=trapz(x,y)
aria =
12.3438

Matlab ofer urmtoarele funcii pentru calculul integralei cu regula lui Simpson.
quad (function,a,b)

returneaz aproximanta integralei unei funcii f (x ) al crei


nume este coninut n function, pe intervalul [ a, b]
De exemplu pentru funcia humps

quad('humps',-1,3)
ans =
20.9869
b

Vom exemplifica n cazul integralei sin xdx .


a

// Metoda trapezului
fprintf('\na=');
a=input('

');

fprintf('\nb=');
b=input('

');

fprintf('\nN=');
N=input('');

140

s=0;
h=(b-a)/(N+2)
for i=1:N+1
x(i)=(a+h)+(i-1)*h
end
%for i=1:N+1
%y(i)=feval('sin',x(i))
%end
for i=2:N
s=s+feval('sin',x(i));
end
v=h/2*(feval('sin',x(1))+feval('sin',x(N+1))+2*s)
//Metoda lui Simpson
fprintf('\na=');
a=input('');
fprintf('\nb=');
b=input('');
fprintf('\nN=');
N=input('');
h=(b-a)/(N+2);
x(1)=a+h;
for i=2:N+1
x(i)=x(1)+(i-1)*h;
end
m=fix(N/2);
s1=0;
for i=1:m-1
s1=s1+feval('sin',x(2*i+1));
end
s2=0;
for i=1:m
s2=s2+feval('sin',x(2*i));
end

141

v=((x(N+1)-x(1))/(6*m))*(feval('sin',x(1))+feval('sin',x(N+1))
+2*s1+4
b

Pentru calculul unei integrale de forma f ( x)dx , n Matlab se utilizeaz toolbox-ul


a

Symbolic Math, folosind funcia int(f,a,b).


Exemplu:
1

dx
1

syms x
f=1/sqrt(1+x^2);
int(f,0,1)

n cazul unei integrale care necesit un calcul laborios, instruciunea int nu face fa.
Vom scrie n faa instruciunii int, instruciunea double, i Matlab ne va returna rezultatul
unei integrri numerice:
1

ln( x

x 1)dx

0
1

syms x
f =log(x+sqrt(1+x^2)); int(f,0,1)
Warning: Explicit integral could not be found.
In C:\MATLAB6P5\toolbox\symbolic\@sym\int.m at line 58

ans =
int(log(x+(1+x^2)^(1/2)),x = 0 .. 1)

atunci:
double(int(f,0,1))
Warning: Explicit integral could not be found.
In C:\MATLAB6P5\toolbox\symbolic\@sym\int.m at line 58
ans =
0.4672

142

S calculm o valoare aproximativ a acestei integrale, nlocuind funcia cu seria


Taylor asociat i aplicnd integrarea termen cu termen. Reamintim c nu se lucreaz cu
seria propriu-zisa, ci cu un termen al irului sumelor pariale, ce o aproximeaz:
>>f=log (x+sqrt(1+x^2));
>>ft = taylor(f,0,47);
>>int(ft,0,1)

Exemplu
1

Integrala

x
x dx

1
2

poate fi destul de complicat de rezolvat n Matlab, i atunci

vom calculm polinomul Taylor, de grad suficient de mare, asociat funciei, polinom ce
aproximeaz funcia:
>> f=x^x;
>> ft=taylor(f,1/2,9);
>> simplify int (ft,1/2,1)

d x
1
dt

dx 1 t t 2 t 1

>>g=1/(t*sqrt(t^2+t+1));
>>G=int(g,1,x);
>>Gx=diff(G,x)
Gx =
-(1/2/(x^2+1+x)^(1/2)-1/4*(2+x)/(x^2+1+x)^(3/2)*(2*x+1))/(11/4*(2+x)^2/(x^2+1+x))

Obinnd o form complicat a derivatei, este nevoie de simplificarea acestei


expresii simbolice:
>> simplify(Gx)
ans =
1/x/(x^2+1+x)^(1/2)

143

144

S-ar putea să vă placă și