metode si algoritmi la analiza numerica capcelea maria capcelea titu secrieru ion
TRANSCRIPT
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
1/74
Maria CAPCELEA, Titu CAPCELEA, Ion SECRIERU
MMEETTOODDEEII AALLGGOORRIITTMMII
LLAA AANNAALLIIZZAA NNUUMMEERRIICC
1 0.5 0 0.5 1
0
0.5
1
1.5
g( )z
L( )z
yj
,,z z xj
1 0.5 0 0.5 1
1
0.5
0
0.5
1
f( )z
L( )z
yj
,,z z xj
Materialdidacticpentruoreled
elaborator
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
2/74
UNIVERSITATEA DE STAT DIN MOLDOVA
FACULTATEA DE MATEMATICI INFORMATIC
CATEDRA MATEMATICA APLICAT
MARIA CAPCELEA, TITU CAPCELEA, ION SECRIERU
MMEETTOODDEEII AALLGGOORRIITTMMII
LLAA AANNAALLIIZZAA NNUUMMEERRIICC
Aprobat i recomandat deConsiliul Facultii deMatematici Informatic
Chiinu, 2009CEP USM
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
3/74
CZU 519.6 (075.8)S
Recomandat de Catedra Matematica Aplicat
Recenzent Boris HNCU, dr., conf. univ.
Maria Capcelea, Titu Capcelea, Ion Secrieru, 2009
USM, 2009
ISBN 9975-70-900-2
Descrierea CIP a Camerei Naionale a CriiCapcelea, Maria
Metode i algoritmi la Analiza Numeric / Maria Capcelea, TituCapcelea, Ion Secrieru; Universitatea de Stat din Moldova. Facultateade Matematici Informatic. Catedra Matematica Aplicat. Chiinu: CEP USM, 2009. 73p.
Bibliogr. p. 72 (28 titluri)ISBN 9975-70-900-250 ex.
519.6 (075.8)
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
4/74
Cuprins 3
CUPRINS
INTRODUCERE.........................................5LUCRAREA DE LABORATOR 1Aproximarea valorilor funciilor cu ajutorul dezvoltrii n serii de puteri...................................7
1.I. Scopul lucrrii..................................................................71.II. Prezentarea teoretica lucrrii................................................................................... 7
Formularea problemei..............................................................................Descrierea algoritmului..............................................................................................................
77
1.III. Modul de desfurare a lucrrii..................................................................................................... 11Cerine fade ndeplinirea lucrrii..........................................................Chestiuni de studiat.....................................................................................................................Probleme propuse spre rezolvare................................................................................................
111111
LUCRAREA DE LABORATOR 2Aproximarea funciilor cu polinoame de interpolare...................................................................... 13
2.I. Scopul lucrrii..................................................................132.II. Prezentarea teoretica lucrrii................................................................................... 13
Formularea problemei..............................................................................Interpolare polinomialpe reea neuniform..............................................................................
1313
Polinomul de interpolare sub forma lui Lagrange.................................................................Algoritmul lui Neville-Aitken................................................................................................Polinomul de interpolare sub forma lui Newton cu diferene divizate..................................
131516
Interpolare polinomialpe reea uniform................................................................................. 18Polinomul de interpolare sub forma lui Lagrange cu noduri echidistante.............................Polinomul de interpolare sub forma lui Newton cu noduri echidistante................................
1819
A) Formula lui Newton de interpolare ascendent..........................................................B) Formula lui Newton de interpolare descendent........................................................
1921
2.III. Modul de desfurare a lucrrii..................................................................................................... 22Cerine fade ndeplinirea lucrrii..........................................................Chestiuni de studiat.....................................................................................................................Probleme propuse spre rezolvare................................................................................................
222323
LUCRAREA DE LABORATOR 3Aplicarea formulelor de cuadratur la calculul aproximativ al integralei definite......................24
3.I. Scopul lucrrii..................................................................243.II. Prezentarea teoretica lucrrii................................................................................... 24
Formularea problemei..............................................................................Formula dreptunghiurilor................................................................................Formula trapezelor..................................................................................Formula lui Simpson (parabolelor).................................................................................Algoritmi cu control automat al pasului de integrare.................................................................Formule de cuadraturde tip Gauss...................................................................................
242525
252629
Formula de cuadratura lui Gauss-Legendre........................................................................Formula de cuadratura lui Gauss-Chebyshev......................................................................
3031
3.III. Modul de desfurare a lucrrii..................................................................................................... 31Cerine fade ndeplinirea lucrrii..........................................................Chestiuni de studiat.....................................................................................................................Probleme propuse spre rezolvare................................................................................................
313232
LUCRAREA DE LABORATOR 4
Rezolvarea numeric a ecuaiilor algebrice i transcendente.........................................................334.I. Scopul lucrrii..................................................................334.II. Prezentarea teoretica lucrrii................................................................................... 33
Formularea problemei..............................................................................Separarea rdcinilor prin metoda tabelrii funciei...............................................................
3333
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
5/74
4 Cuprins
Separarea grafica rdcinilor ..................................................................................Metoda dihotomiei..................................................................................Metoda lui Newton.................................................................Metoda lui Newton modificat...................................................................................Metoda secantelor (Newton discret).....Metoda coardelor (interpolrii liniare, falsei poziii, secantelor cu un capt fixat)Metoda iteraiei simple...Calculul rdcinilor ecuaiilor polinomialeCalculul rdcinilor multiple..
34343537383941
4243
4.III. Modul de desfurare a lucrrii..................................................................................................... 43Cerine fade ndeplinirea lucrrii..........................................................Chestiuni de studiat.....................................................................................................................Probleme propuse spre rezolvare................................................................................................
434444
LUCRAREA DE LABORATOR 5Rezolvarea numeric a sistemelor de ecuaii algebrice liniare.......................................................46
5.I. Scopul lucrrii..................................................................465.II. Prezentarea teoretica lucrrii................................................................................... 46
Formularea problemei..............................................................................Metode directe................................................................
Metoda eliminrii a lui GaussStrategii de pivotare n rezolvarea SEAL..Aplicaii ale algoritmilor de eliminare...
A)Rezolvarea SEAL cu matrice rareB)Calculul determinantului i a inversei matricei A
Metoda factorizrii LU...Metoda factorizrii Doolittle.Metoda factorizrii Crout..Metoda factorizrii Cholesky
Metode iterative..................................................................................Metode staionare...
Metoda lui Jacobi..............Metoda lui Gauss-Seidel...O metodde stocare compacta matricei simetrice.
Metode nestaionare...Metoda pasului descendent (coborrii rapide)......Metoda gradienilor conjugai...
46464648494950515151525555555658595961
5.III. Modul de desfurare a lucrrii..................................................................................................... 63Cerine fade ndeplinirea lucrrii..........................................................
Chestiuni de studiat.....................................................................................................................
63
63LUCRAREA DE LABORATOR 6Metoda lui Runge-Kutta de rezolvare a problemei lui Cauchy......................................................64
6.I. Scopul lucrrii..................................................................646.II. Prezentarea teoretica lucrrii................................................................................... 64
Formularea problemei..............................................................................Descrierea algoritmilor...................................................................Monitorizarea erorilor locale de trunchiere pe parcursul procesului de integrare......................Algoritmi cu controlul automat al pasului..............
64646667
6.III. Modul de desfurare a lucrrii..................................................................................................... 70Cerine fade ndeplinirea lucrrii..........................................................Chestiuni de studiat.....................................................................................................................Probleme propuse spre rezolvare................................................................................................
707171
REFERINE............................................................................................................................................ 72
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
6/74
Introducere 5
INTRODUCERE
Aplicarea tehnicii computaionale n cele mai diverse domenii ale activitii umane astzi a
devenit un lucru obinuit. ns utilizarea eficient a calculatorului la rezolvarea problemelor
aplicative presupune identificarea unor metode de rezolvare a acestora, descrierea lor ntr-un limbaj
algoritmic, apoi implementarea i testarea pe calculator. Metodele matematice ce stau la bazaalgoritmilor respectivi sunt studiate n cadrul cursului Analiza numeric, disciplin obligatorie n
planurile de nvmnt la toate specialitile ce in de Matematica aplicati Informatic.
Lucrarea de fa se adreseaz, n primul rnd, studenilor din nvmntul universitar pentru a
servi ca material didactic la ndeplinirea lucrrilor de laborator prevzute n procesul de studiu al
cursului Analiza numeric. Menirea lor este de a contribui la nsuirea mai profund a metodelor de
rezolvare aproximativ a problemelor matematice, ct i a formrii gndirii algoritmice, deprinderilor
de programare i analiz a rezultatelor obinute.
n lucrare sunt incluse lucrri de laborator ce se refer la urmtoarele compartimente: metode
numerice de aproximare a funciilor, construirea i aplicarea formulelor de cuadratur, metode
aproximative de rezolvare a ecuaiilor neliniare, metode exacte i aproximative de rezolvare a
sistemelor de ecuaii liniare algebrice, metode de rezolvare aproximativ numeric a problemei lui
Cauchy. Compartimentele menionate corespund Curriculumului disciplinei Analiza numeric
pentru specialitile matematice, ct i cursului Calcul numericpentru specialitile informatice.
Materialul este structurat astfel, nct fiecare lucrare conine trei compartimente. Anume, n
partea I sunt formulate scopul i obiectivele lucrrii. Partea a II-a conine formularea strict a
problemei i metodele principale de rezolvare a acesteia cu formulele respective de calcul i de
estimare a erorii. Pentru majoritatea metodelor, ntr-o seciune special, se face o analiz a
proprietilor numerice pe care le posed. Ultimul compartiment include cerinele principale de
ndeplinire a lucrrilor de laborator i un set de variante de probleme concrete matematice pentru
fiecare lucrare.
O atenie deosebit se acord aspectelor algoritmice i organizrii procesului de calcul. Astfel,
metodele numerice, descrise n lucrare, sunt concretizate sub form de algoritmi, prezentai ntr-un
meta-limbaj extrem de apropiat de implementarea direct ntr-un limbaj de programare de nivel
nalt.
Menionm faptul c n prezent exist sisteme mai performante de utilizare a metodeloraproximative de rezolvare a problemelor matematice studiate n aceast lucrare, ct i ale altor
metode din Analiza numeric. ns aspectul programrii nemijlocite a metodelor pe probleme
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
7/74
6 Introducere
concrete considerm c este o etap absolut necesar la pregtirea specialitilor de o calificare nalt
n domeniul matematicii aplicate.
n lucrare prezentm i cteva informaii, utile pentru studeni, referitoare la modul de
desfurare a laboratorului la Analiza numeric. Fiecare lecie de laborator are o anumit tematic.
Activitatea pe care trebuie s o desfoare fiecare student n cadrul leciei presupune dou priimportante. Prima parte const n exploatarea unor programe demonstrative ce ilustreaz tematica
lucrrii. A doua parte a leciei const n implementarea unora dintre algoritmii studiai n cadrul
temei respective. Implementarea se va face ntr-un limbaj de programare de nivel nalt, n
concordan cu pseudocodul prezentat n lucrare. n urma analizei comportamentului numeric al
algoritmilor implementai, studentul trebuie s redacteze un referat, conform cerinelor fiecrei
lucrri, pe care l va prezenta profesorului n momentul susinerii lucrrii de laborator.
Fiecare tem de laborator este apreciat cu dou note: o not pentru referat i o not pentru
implementarea algoritmilor studiai n lucrarea respectiv ntr-un limbaj de programare de nivel
nalt. Referatul va conine urmtoarele compartimente: numele studentului i grupa din care face
parte; numele cadrului didactic ndrumtor; titlul lucrrii, scopul lucrrii, principiul algoritmilor,
pseudocodul algoritmilor, rezultate experimentale, grafice etc. (conform cerinelor din ndrumar),
analiza rezultatelor i concluzii. n principiu, cerinele pot fi modificate de ctre profesor.
n ncheiere, autorii mulumesc colegilor lor - dnei Galina Rbacova, dr., conf. univ., i dlui
Vladimir Paiuc, dr., conf. univ., pentru interesul acordat i n special pentru comentariile i
observaiile constructive fcute pe marginea lucrrii.
Autorii
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
8/74
Lucrarea de laborator 1 7
LUCRAREA DE LABORATOR 1APROXIMAREA VALORILOR FUNCIILOR
CU AJUTORUL DEZVOLTRII N SERII DE PUTERI1.I. Scopul lucrrii
Studiul unui algoritm pentru sumarea numeric a seriilor de puteri cu controlul erorii de trunchiere
i implementarea acestuia ntr-un limbaj de programare de nivel nalt.1.II. Prezentarea teoretic a lucrrii
Formularea problemei
Funcia ( ) y f x= se exprimprin funciile elementare:
cos , sin , ( )x x x e x . (1.1)
Pentru o valoare 0x a argumentului x sse aproximeze cu exactitatea 0 > valorile funciilor indicate n
relaia (1.1), utiliznd n acest scop formulele pentru dezvoltarea lor n serii de puteri, apoi, n baza
valorilor obinute, sse calculeze valoarea aproximativ 0 0( ) y f x= a funciei iniiale.
Descrierea algoritmului
Dezvoltrile n serii de puteri ale funciilor indicate n relaia (1.1) sunt:
2 2 1
0 0 0
cos ( 1) (2 )!, sin ( 1) (2 1)!, !, j j j j x j
j j j
x x j x x j e x j x
+
= = =
= = + = . (1.2)
Reprezentrile din relaia (1.2) permit evaluarea valorilor funciilor menionate prin reducerea la operaii
aritmetice elementare (aditive i multiplicative).
Calculul aproximativ al sumei unei serii presupune trunchierea unui proces de sumare infinit. Dacirul numeric 0{ }k kx converge ctre limita x , atunci pentru orice 0 > existun numr natural n , astfel
nct kx x , pentru orice k n> . n consecin, pentru o exactitate impus , exist un rang finit n ,
astfel nctn
x reprezint o aproximaie satisfctoare pentru limita x . Rezult c, dup evaluarea unui
numr n suficient de mare de termeni, ultimul poate fi adoptat ca soluie numeric cu o eroare de
trunchiere dependentde acest n .
Deoarece seriile de puteri corespunztoare funciilor cosinus i sinus sunt alternante, iar irurile
valorilor absolute ale termenilor sunt monoton descresctoare, conform criteriului lui Leibniz, eroarea de
trunchiere este majorat de modulul primului termen neglijat. n realitate, ns, erorile de rotunjire i
modul de sumare a seriei (de la stnga spre dreapta, fr a ine cont de mrimea fiecrui termen) pot
genera o eroare de calcul mult mai mare dect cea indicat de criteriul lui Leibniz (a se vedea, de
exemplu, [28, p.22]). De aceea, n procesele de calcul ale valorilor funciilor cu ajutorul dezvoltrii n
serii de puteri, este necesar ntreprinderea unor msuri speciale pentru a evita pierderi semnificative n
exactitate.
ntruct pentru eroarea absoluta mrimii jx are loc relaia ( ) ( ) ( ) j j j jx x x j x x = = (la ridicarea la
putere a unui numr aproximativ eroarea lui relativ se nmulete la exponenta puterii), n cazul n care
nu se ndeplinete inegalitatea 1x < , eroarea absolut poate deveni inacceptabil de mare. Prin urmare,
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
9/74
8 Lucrarea de laborator 1
influena erorilor de rotunjire se va diminua semnificativ dac 1x < .
Utiliznd paritatea (imparitatea) funciilor cosinus i sinus cos cos , sin sin , x x x m x m sign x= = = ,
dar i egalitatea 1x xe e = , se reduce calculul valorilor funciilor din relaia (1.1) pentru un argument
arbitrar la calculul valorilor acestora pentru un argument nenegativ. Deoarece la sumarea seriilor
menionate eroarea de calcul va fi esenial mai mic dac 1x = = >
= > = = =
Prin urmare, cos7.6 sin 0.1 = i n continuare se calculeazsinusul conform formulei pentru dezvoltarea
n serie de puteri.
Se presupune c argumentul este definit n radiani. Dac acesta este definit n grade, atunci el se
transformn radiani prin nmulirea cu mrimea 180 .
n calculul valorilor funciilor cos t i sin ( (0; 4]t t ; cazul 0t= este trivial i n algoritm se
descrie separat) cu exactitatea 0 > se utilizeazegalitile corespunztoare din relaia (1.2), iar procesul
de sumare se ncheie cnd pentru un j
se ndeplinete inegalitatea [24, p.99; 25]j
a
< , unde
2( 1) (2 )!j jj
a t j
= (pentru funcia cosinus) sau 2 1( 1) (2 1)!j jj
a t j
+
= + (pentru funcia sinus). Sumarea
seriei pentru funcia cosinus se face prin formulele recurente [25, p.29]: 20 0 11, 1, ((2 1)2 )j jS a a a t j j= = = ,
1 , 1,2,... j j jS S a j= + = , iar a seriei pentru funcia sinus prin formulele:2
0 0 1, , (2 (2 1))j jS t a t a a t j j= = = + ,
1 , 1,2,... j j jS S a j= + = .
Pseudocodul algoritmuluiPrezentm algoritmii de calcul ai valorilor funciilor cosx i sin x cu o eroare de trunchiere maimicdect .
Date de intrare:
0x (de tip real) punctul n care se calculeaz valoarea funciei cosx sau sin x ;
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
10/74
Lucrarea de laborator 1 9
(de tip real) exactitatea de calcul.Date de ieire:
0x (de tip real) punctul n care se calculeaz valoarea funciei cosx sau sin x ;
s (de tip real) valoarea funciei cosx sau sin x n punctul 0x ;k (de tip ntreg) numrul de termeni sumai;
real ,x s ntreg , , ,k m n p
(calculul valorii 0cosx )
dac 0x > atunci
{
0 0: ; :m sign x x x= =
dac 2x atunci [ ]{ : 2 ; : 2 }n x x x n = = dacx atunci { : ; : x x m m= = }
dac 2x atunci { : ; : } x x m m= =
dac 4x atunci3{ : 2 ; : ; : 6; : 2}x x s x a x p= = = =
altfel 2{ : 1; : 2; : 1}s a x p= = = : 1k =
execut{
: ; : 1s s a k k = + = + 2: 2; : ( ( 1)) p p a ax p p= + = +
}
ct timp a
:s ms= }
altfel : 1; : 0s k= =
scrie 0 , ,x s k
(calculul valorii 0sin x )
dac 0x > atunci
{
0 0: ; :m sign x x x= =
dac 2x atunci [ ]{ : 2 ; : 2 }n x x x n = = dacx atunci { : ; : x x m m= = }
dac 2x atunci :x x=
dac 4x atunci2{ : 2 ; : 1; : 2; : 1} x x s a x p= = = =
altfel 3{ : ; : 6; : 2}s x a x p= = = : 1k =
execut{
: ; : 1s s a k k = + = + 2: 2; : ( ( 1)) p p a ax p p= + = +
}
ct timp a
:s ms= }
altfel0
: ; : 0s x k= =
scrie 0 , ,x s k
Calculul valorii funciei xe pentru 0x se efectueazn modul urmtor:
Fie n - partea ntreag a lui x i t x n= . Evident, [0;1)t . Dac 0t= i 0n = , atunci 1xe = , iar
dac 0t= i 1n , atunci ...x nde n ori
e e e e= =
. Pentru (0;1), 0t n avem x n t e e e= i te se calculeaz cu
exactitatea 0 > , conform formulei corespunztoare din relaia (1.2), utiliznd suplimentar urmtoarea
relaie pentru restul seriei (a se vedea [24, p.89])0
, , !, 1,2,...p
t j
p p p j jj
e S a t p S a a t j p=
< = = =
. Astfel,
sumarea se va efectua pn la acea valoare p
a lui p , pentru care se va satisface relaia pa t p < .
Procesul sumrii este comod de organizat n modul urmtor [25, p.27]: 0 0 11, 1, j jS a a a t j= = = ,
1 , 1,2,... j j jS S a j= + = .
Pseudocodul algoritmului
Date de intrare:
0x (de tip real) punctul n care se calculeaz valoarea funcieixe ;
(de tip real) exactitatea de calcul.Date de ieire:
0x (de tip real) punctul n care se calculeaz valoarea funcieixe ;
exp (de tip real) valoarea funciei xe n punctul 0x ;
1k+ (de tip ntreg) numrul de termeni sumai;
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
11/74
10 Lucrarea de laborator 1
ntreg , ,k m n real , , , ,x t exp s a
[ ]0 0: ; : ; : ; : ; : 1; : 1m sign x x x n x t x n exp s= = = = = =
pentru : 1,i n= execut :s s e= dac 0t atunci
{
: 1; : 0a k= = execut
{
: 1; : ; :k k a a t k exp exp a= + = = + }
ct timp at k
}:exp exp s=
dac 1m = atunci : 1exp exp=
scrie 0 , , 1 x exp k+
ntruct funciile sin cos , cos sin , ( ) 2, ( ) 2, x x x x
tgx x x ctgx x x shx e e chx e e thx sh x ch x
= = = = + = suntdependente de funciile indicate n relaia (1.1), se admite ca expresia analitica lui ( )f x sconinunele
dintre acestea. Pentru a evita pericolul pierderilor n exactitate din cauza efecturii diferenei a dou
mrimi apropiate ca valoare, calculul valorilor funciilor sh x i th x pentru valori 0x se va face n baza
formulei 2 10
(2 1)!j
j
sh x x j
+
=
= + (n locul celei corespunztoare funcieix
e ). Totodat, pentru valorile
0x < (dar apropiate de zero) se va ine cont i de egalitatea ( )sh x shx = .
Analiza algoritmului
Eroarea numericcomis n calculul aproximativ al valorilor funciilor elementare din relaia (1.1),
utiliznd dezvoltarea n serie de puteri, const din dou componente: eroarea de rotunjire (datorat
reprezentrii finite, aproximative a numerelor reale n sistemele de calcul) i eroarea de trunchiere
(datorataproximrii finite a unor procese infinite). n cazul cnd numrul de termeni ai seriei este fixat,
eroarea de trunchiere va depinde direct proporional de valoarea argumentului t.
Au loc urmtoarele estimaii pentru eroarea de trunchiere a seriilor utilizate n lucrare [24, p.89;
p.95]:cos 2( 1) sin 2 3 exp 1cos (2( 1))!, sin (2 3)!, [0; 4]; ( ! ) , [0;1]n n t nn n n
t S t n t S t n t e S t n n t + + + + + < ,
unde cos 2 sin 2 1 exp0 0 0
( 1) (2 )!, ( 1) (2 1)!, !n n n
j j j j j
n n n
j j j
S t j S t j S t j+
= = =
= = + = . Modul n care eroarea de trunchiere
depinde de n caracterizeazviteza de convergena algoritmilor descrii.
n procesele de calcul definite de relaia (1.2), eroarea de trunchiere este cu att mai mic cu ct
numrul de termeni calculai este mai mare. Pe de alt parte, efortul de calcul pentru evaluarea valorii
funciei crete odatcu mrirea exactitii impuse, dar i cu creterea modulului variabilei t.Studiul comportamentului numeric al algoritmilor elaborai demonstreaz c atunci cnd 4t < ,
eroarea de trunchiere este micca valoare i este comparabilcu eroarea de rotunjire chiar i la sumarea
unui numr relativ mic de termeni ai seriei.
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
12/74
Lucrarea de laborator 1 11
3.III. Modul de desfurare a lucrrii
Cerine fa de ndeplinirea lucrrii
n baza pseudocodurilor descrise n seciunea II a lucrrii, s se elaboreze un program destinat
calculului valorilor funciilor elementare din relaia (1.1), utiliznd dezvoltrile n serii de puteri pentru
acestea. n baza valorilor obinute, s se calculeze valoarea aproximativ a funciei ( )f x , expresia
analitica creia conine funciile elementare din relaia (1.1). n plus, pentru fiecare dintre seriile date de
relaia (1.2) i fiecare valoarei
x a variabilei independente x , programul va calcula i va afia suma
pariala seriei i eroarea absolutde trunchiere pentru diferite ordine n . Se va reprezenta grafic variaia
erorii n funcie de numrul de termeni sumai. Se va analiza viteza de convergena algoritmului pentru
diferite valorii
x . Programul de calcul sse testeze pe exemplele propuse la sfritul lucrrii de laborator.
Este necesar sse asigure (n caz de necesitate) afiarea valorilor funciei ( )f x ntr-un ir de puncte
, 1,i x i N = , definite de ctre utilizator.
Sse extragla tipar tabelul
i ix iy iye id maxk
1
N
n care: i - numrul de rnd;i
x - valoarea argumentului;i
y - valoarea funciei ( )f x n punctul ix ,
calculatde program (utiliznd algoritmul dezvoltrii n serie de puteri);i
ye - valoarea funciei n punctul
ix , calculat cu ajutorul funciilor standard ale mediului de programare; max;i i id y ye k = - numrul
maximal de termeni sumai din seriile folosite.
Programul trebuie sdea rezultat pentru orice valoare a argumentului x . Dacpentru un carevai
x
valoarea funciei ( )f x nu exist sau are loc suprancrcarea, atunci se va extrage la tipar comunicarea
respectiv.
Chestiuni de studiat
1. Precizai modalitile prin care poate fi diminuateroarea de calcul la sumarea numerica unei serii.
2. S se fac o analiz experimental a timpului de calcul al valorilor funciilor elementare din relaia
(1.1), utiliznd dezvoltarea n serie de puteri, n funcie de exactitatea de calcul impusi de mrimea
argumentului 0x .
3. Sse reprezinte grafic variaia erorii de calcul n funcie de numrul de termeni sumai ai seriei.
Probleme propuse spre rezolvare
2
2
1. ( ) 4sin ;
2. ( ) 1 sin cos 4 ;3. ( ) cos (1 cos ) ;
4. ( ) 12 sin (0.5 cos );
5. ( ) ( );
x
x x
x
x x x
f x x tgx e
f x x e x e f x sh x x x
f x e x x
f x tgx ctgx e e e
= +
= +
= +
= +
= + + +
2
2
2
2
14. ( ) cos 2 sin ;
15. ( ) cos 2 sin ;
16. ( ) cos 4 12 ;
17. ( ) (cos 2 sin 2 ) ( 1);
18. ( ) sin 2 cos 2 ;
x
x
x
x
x
f x e x chxshx x
f x e x chxshx x
f x x tgx e
f x x x e
f x e x chx x
= +
=
= +
= + +
= +
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
13/74
12 Lucrarea de laborator 1
2
6. ( ) (4 ) (2sin );
7. ( ) 1 ( ) 2 1;
8. ( ) (2sin 1) (cos );
9. ( ) (2 1) (2 );
10. ( ) 4 sin ( sin ) cos ;
11. ( ) sin2 (0.4 cos );
12. ( ) sin 2 12 ;
13. ( ) 2
x x
x
x
x
x
x
x
x
f x ctgx e e x
f x tgx ctgx e
f x x x e
f x tgx e
f x x e x x
f x e tgx x x
f x x ctgx e
f x e
= +
= +
=
=
= +
=
= + +
= + + (3 5sin ) (3sin 1);x x+
3
2
2
2
3
2
19. ( ) sin 2 cos ;
20. ( ) cos4 cos2 ;
21. ( ) sin 2sin ( );
22. ( ) cos 3 2 2sin ;
23. ( ) cos2 4 2 2 sin ;
24. ( ) 2 2cos2 4 2 sin ;
25. ( ) cos 4
x
x
x x x
x
x
x
x
f x e x shx x
f x e x chx x
f x e x chx x e e
f x e x sh x x
f x e x ch x chx x
f x e ch x x chx x
f x e x
= +
= +
= + +
=
= +
= + +
= + 2 3 sin2 ;
26. ( ) cos2 2 2 sin .xch x shx x
f x e x ch x shx x
=
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
14/74
Lucrarea de laborator 2 13
LUCRAREA DE LABORATOR2
APROXIMAREA FUNCIILOR CU POLINOAME DE INTERPOLARE2.I. Scopul lucrrii
Studiul unor algoritmi de aproximare a funciilor continue cu polinomul algebric de interpolare i
implementarea acestora ntr-un limbaj de programare de nivel nalt.
2.II. Prezentarea teoretic a lucrrii
Formularea problemei
Fie pentru funcia continu 0:[ ; ]n f x x cunoscute valorile ei ( )i i y f x= n nodurile reelei
0 0 1: { } , ... ( , )n
i i nx a x x x b a b
= = < < < . Se cere de aproximat funcia ( )f x pe segmentul 0[ ; ]nx x cu un
polinom algebric de interpolare, adicde construit polinomul algebric ( )mp x de grad minimal m , care n
nodurile , 0,i x i n= , ia valori egale cu iy :
( ) , 0,m i ip x y i n= =
. (2.1)Folosind reprezentarea analitic a polinomului obinut, s se calculeze valoarea aproximativ a
funciei ( )f x n punctul 0[ ; ], , 0,n iz x x z x i n = .
Problema de interpolare formulatare soluie unic [2-5; 8; 16; 20-21; 23-24]: pentru orice funcie
continu ( )f x i orice sistem de noduri distincte , 0,i
x i n= , exist un singur polinom algebric ( )mp x de
grad m n ce satisface condiiile (2.1).
n funcie de necesitate, n practic sunt utilizate mai multe forme de reprezentare (algoritmi de
construcie) ale polinomului de interpolare, unele dintre care le vom indica n continuare.
Interpolare polinomial pe reea neuniform
Polinomul de interpolare sub forma lui Lagrange
Aceastforma polinomului de interpolare este definitprin relaia [3-5; 8; 23; 24, p.529]:
0
( ) ( )n
n i i
i
L x y l x=
= , (2.2)
n care ( )0,
( ) ( ) ( )n
i j i j
j j i
l x x x x x=
= sunt numite polinoamele fundamentale de interpolare Lagrange.
Pseudocodul algoritmului
Date de intrare:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;n (de tip ntreg) gradul maximal al polinomului de interpolare;
[ ]x n - tabloul (cu elemente de tip real; indici de la 0 la n ) nodurilor de interpolare;[ ]y n - tabloul (cu elemente de tip real; indici de la 0 la n ) valorilor funciei ( )f x n nodurile de interpolare.
Date de ieire:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;p (de tip real) valoarea polinomului de interpolare n punctul z ;
ntreg ,i j real ,t p
: 0p =
pentru : 0,i n= execut{
: 1t =
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
15/74
14 Lucrarea de laborator 2
pentru : 0,j n= execut { dac j i atunci : ( ) ( ) j i jt t z x x x= }
: i p p t y= + }
scrie ,z p
Analiza algoritmului
n cazul n care ( )f x este continupe0
[ ; ]n
x x i mai posedi derivate continui pnla ordinul 1n +
inclusiv (vom utiliza notaia 1 0( ) [ ; ]n
nf x C x x+ ), este adevrat urmtoarea estimaie pentru eroarea
( ) : ( ) ( )Ln n
E x f x L x= a procesului de interpolare n punctul 0[ ; ]n z x x [2-3; 8; 10; 16; 23; 24, p.537]:
1( ) ( ) ( 1)!L
n n n E z z M n
+ + ,
unde0
( 1)1 0 1
[ ; ]max ( ) , ( ) ( )( ) ... ( )
n
n
n n nx x x
M f x z z x z x z x++
= = . Analiza comportamentului funciei ( )n x
permite sconcluzionm ceroarea interpolrii ( )Ln
E z va fi n medie mai mare dacpunctul z se afl n
vecintatea extremitilor segmentului 0[ ; ]nx x [21, p.63].Efortul de calcul pentru evaluarea polinomului Lagrange n punctul z conform formulei (2.2), este
de 24 6 2n n+ + operaii aritmetice (aditive i multiplicative). Complexitatea de ordinul 2(4 )O n uneori este
inacceptabil n practici poate s conduc la apariia unor erori de calcul mari. Din aceast cauz au
fost elaborai ali algoritmi de calcul al valorilor polinomului de interpolare.
Dac se calculeaz valorile polinomului Lagrange ntr-un numr mare de puncte (diferite de
nodurile reelei de interpolare), atunci este avantajoasurmtoarea form:
( )00
( ) ( ) ( )n n
n j i i
ij
L x x x r x x==
= , (2.3)
n care coeficienii ( 0, )i
r i n= sunt dai de relaia0,
( )n
i i i j
j j i
r y x x=
= . Procesul de calcul descris de
formula (2.3) admite urmtorul pseudocod:
Date de intrare:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;n (de tip ntreg) gradul maximal al polinomului de interpolare;
[ ]x n - tabloul (cu elemente de tip real; indici de la 0 la n ) nodurilor de interpolare;[ ]y n - tabloul (cu elemente de tip real; indici de la 0 la n ) valorilor funciei ( )f x n nodurile de interpolare.
Date de ieire:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;p (de tip real) valoarea polinomului de interpolare n punctul z ;
ntreg ,i j real , ,t p r
: 1; : 0t p= =
pentru : 0,j n= execut : ( )jt t z x=
pentru : 0,i n= execut{
:i
r y=
pentru : 0,j n= execut { dac j i atunci : ( )i jr r x x= }
: ( )i
p p r z x= +
}: p p t =
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
16/74
Lucrarea de laborator 2 15
scrie ,z p
Spre deosebire de cazul n care este utilizat formula (2.2), calculul valorii polinomului ( )nL x ,
conform relaiei (2.3), necesit 22 7 6n n+ + operaii aritmetice. Dac se efectueaz m evaluri, efortul
global de calcul este de 22 (5 2) 6n m n m+ + + operaii. Din punctul de vedere al eficienei spaiale,
variantele (2.2) i (2.3) necesitfiecare un spaiu de memorie de ordin (2 )O n .Algoritmul lui Neville-Aitken
Calculul valorii aproximative a funciei ntr-un punct dat poate fi efectuat i fr a apela la forma
analitica polinomului Lagrange. Aceasta se poate efectua, de exemplu, utiliznd algoritmul lui Neville-
Aitken [2, p.12; 25, p.116]. Procedura iterativ de calcul utilizeaz pentru nceput dou noduri de
interpolare, ca apoi treptat sincludn calcule noi noduri pnse obine precizia dorit.
Fie , 1,..., ( ) j j j iP x+ + polinomul de interpolare construit pe nodurile distincte 1, ,..., j j j i x x x+ + . Evideniem
cazul 0i = cnd vom considera c ( ) , 0,j jP x y j n= = . Polinoamele , 1,..., ( ) j j j iP x+ + satisfac relaia de
recuren[2, p.12]:
( ), 1,..., , 1,..., 1 1, 2,...,( ) ( ) ( ) ( ) ( ) ( )j j j i j i j j j i j j j j i j i jP x x x P x x x P x x x+ + + + + + + + += + . (2.4)
Algoritmul lui Neville-Aitken presupune calculul consecutiv conform formulei (2.4) a elementelor
evideniate cu bold din tabelul de mai jos:
0 0 0
1 1 1
2 2 2
3 3 3
3 3 3
2 2 2
1 1 1
n n n
n n n
n n n
n n n
x y P
x y P
x y P
x y P
x y P
x y P
x y P
x y P
=
=
=
=
=
=
=
=
01
01 2
12 01 23
12 3
23 0, ...,n -1
0,1,.. . ,n
n - 3 ,n - 2 1, ...,n
n -3 , n -2 , n -1
n - 2 ,n -1 n - 3 ,n - 2 ,n -1 ,n
n -2 , n -1 , n
n -1 , n
P
P
P P
P
P P
P
P P
P
P P
P
P
Coloanele evideniate ale tabelului se completeazde la stnga spre dreapta. Fiecare element al coloanei
se calculeaz recursiv n baza celor doi vecini din coloana precedent. Algoritmul admite urmtoarea
reprezentare n pseudocod:
Date de intrare:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;n (de tip ntreg) gradul maximal al polinomului de interpolare;
[ ]x n - tabloul (cu elemente de tip real; indici de la 0 la n ) nodurilor de interpolare;
[ ]y n - tabloul (cu elemente de tip real; indici de la 0 la n ) valorilor funciei ( )f x n nodurile de interpolare.Date de ieire:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;
ny (de tip real) valoarea polinomului de interpolare n punctul z ;
ntreg ,i j
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
17/74
16 Lucrarea de laborator 2
pentru : 1,i n= execut
{ pentru : , j n i= execut ( )1: ( ) ( ) ( ) j j j j i j j j iy x x y z x y x x = + }
scrie , nz y
Schema descrispermite s evideniem un algoritm de calcul al valorii funciei ( )f x ntr-un punct
dat ( 0, )i z x i n = cu exactitatea dorit 0 > sau cu cea mai bun exactitate posibil pentru informaia
avut. Vom nota 0,1,...,( ) : ( ), 0,m mL x P x m n= = . Pentru a descrie algoritmul menionat vom utiliza relaia
1( ) ( ) ( )L
m m mE x L x L x
+ [20, p.48]. Astfel, mrimea 0,1,..., 1 0,1,..., 1: ( ) ( ) ( ) ( )m m m m mP x P x L x L x + += poate fi
consideratca o aproximaie a erorii interpolrii ( )Lm
E x .
Se calculeaz succesiv valorile: 0 0 1 0,1 0 1 0 2 0,1,2( ) : ( ), ( ) : ( ), : ( ) ( ) , ( ) : ( )L x P x L x P x L x L x L x P x= = = = ,
1 2 1 3 0,1,2,3 2 3 2: ( ) ( ) , ( ) : ( ), : ( ) ( ) ,...L x L x L x P x L x L x = = = . Dacpentru o valoare a numrului (0 )m m n < va
avea loc inegalitateam
< , atunci calculele se stopeaz i se consider 1( ) ( )m f x L x+ . n caz contrar,
( , 0, 1m
m n = ) se determincel mai mic m pentru care0 1min
m jj n
= i se consider 1( ) ( )m f x L x+ .
Pseudocodul algoritmului
Date de intrare:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;n (de tip ntreg) gradul maximal al polinomului de interpolare;
[ ]x n - tabloul (cu elemente de tip real; indici de la 0 la n ) nodurilor de interpolare;[ ]y n - tabloul (cu elemente de tip real; indici de la 0 la n ) valorilor funciei ( )f x n nodurile de interpolare;
(de tip real) exactitatea de calcul dorit.Date de ieire:
z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;p (de tip real) valoarea polinomului de interpolare n punctul z ;
er (de tip real) cea mai bun exactitate posibil pentru informaia avut;
ntreg , ,i j kreal , , ,d t p er
0: 1; :er t y= =
pentru : 1,i n= execut{
pentru : ,1k i= execut { : 1; : ( ) ( ) ( ) j k k j i i jj k y y y y z x x x= = + }
0 0: ; :d y t t y= =
dac d < atunci { 0: ; :er p y= = ; se iese din ciclu }
altfel { dac ( 0er< sau d er< ) atunci { 0: ; :er d p y= = } }}
scrie , , z p er
Analiza algoritmului
Efortul de calcul necesar pentru realizarea algoritmului este de cel mult 23.5 4.5n n+ operaii
aritmetice, iar din punct de vedere al eficienei spaiale necesitun spaiu de memorie de ordin (2 )O n .
Polinomul de interpolare sub forma lui Newton cu diferene divizateAceastforma polinomului de interpolare are urmtorul aspect:
1
0 01 0
( ) [ ;...; ] ( )in
n i j
i j
N x y f x x x x
= =
= + . (2.5)
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
18/74
Lucrarea de laborator 2 17
Relaia (2.5) utilizeazdiferenele divizate de ordinul k ale funciei ( )f x :
( ) ( )1 1[ ;...; ] : [ ;...; ] [ ;...; ] ( , )i i k i i k i i k i k if x x f x x f x x x x i k + + + + += . (2.6)
n particular, pentru 0, 1,i k n= = obinem diferenele divizate din formula (2.5). Vom considera c
[ ] , 0,j j
f x y j n = = .
Evaluarea valorii polinomului (2.5) se va efectua n modul urmtor:1. Utiliznd definiia (2.6) se genereaz diferenele divizate. Vom ine cont c n procesul de
construcie a polinomului particip efectiv doar diferenele divizate 0[ ;...; ], 1,i f x x i n = , de aceea restul
diferenelor le vom considera ca date intermediare. Pentru a economisi memoria, vom amplasa diferenele
divizate n tabloul n care iniial se pstrau valorile funciei ( )f x n noduri. Tabloul dat se va nnoi parial
la calcularea diferenelor de ordin superior. Completarea tabloului se va face ncepnd cu ultimul element
al acestuia. Astfel, la calcularea diferenelor divizate de ordinul I, elementul ny se va nlocui cu
1[ ; ]n n f x x , 1ny - cu 2 1[ ; ]n n f x x .a.m.d. Elementul 0y rmne nemodificat. La calcularea diferenelorde ordinul II, primele dou elemente ale tabloului rmn nemodificate, iar restul elementelor sunt
nlocuite cu diferenele respective. n momentul n care a fost calculatdiferena divizatde ordinul n , n
locul vectorului iniial 0 1( ; ;...; )T
n y y y avem vectorul 0 0 1 0 1 2( ; [ ; ]; [ ; ; ];...y f x x f x x x 0 1...; [ ; ;...; ])
T
n f x x x .
2. Din motive de eficien, evaluarea polinomului de interpolare Newton n punctul z se realizeaz
conform algoritmului (schemei) lui Horner [24, p.74; 25, p.24]. Pentru aceasta polinomul ( )nN x se scrie
sub forma:
((( )
0 0 0 1 1 0 1 2 2 0 1 1 1 0 1
1
( ) ( ) [ ; ] ( ) [ ; ; ] ... ( ) [ ; ;...; ] ( ) [ ; ;...; ])...n n n n n
n
N x y x x f x x x x f x x x x x f x x x x x f x x x
= + + + + + .
Vom afla valoarea lui ( )n
N x n punctul z , calculnd succesiv mrimile:
0 1 0 1 1 0 0 0 1: [ ; ;...; ], : [ ; ;...; ] ( ) , 1,1, ( ) : ( )n n k k k k nb f x x x b f x x x z x b k n b N x y z x b += = + = = = + .
Pseudocodul algoritmului
Date de intrare:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;n (de tip ntreg) gradul maximal al polinomului de interpolare;
[ ]x n - tabloul (cu elemente de tip real; indici de la 0 la n ) nodurilor de interpolare;
[ ]y n - tabloul (cu elemente de tip real; indici de la 0 la n ) valorilor funciei ( )f x n nodurile de interpolare.Date de ieire:
z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;p (de tip real) valoarea polinomului de interpolare n punctul z ;
ntreg ,i kreal p
pentru : 1,i n= execut { pentru : ,k n i= execut 1: ( ) ( )k k k k k i y y y x x = }
:n
p y=
pentru : 1,0i n= execut : ( )i i
p y z x p= +
scrie ,z p
Analiza algoritmului
n cazul n care sunt cunoscute diferenele divizate, calculul direct al valorii polinomului ( )nN x
conform formulei (2.5) (n sensul c se gsesc valorile tuturor termenilor, apoi acetia se sumeaz),
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
19/74
18 Lucrarea de laborator 2
necesit 2 2n n+ operaii aritmetice. n schimb, schema lui Horner permite obinerea valorii lui ( )nN x ,
efectund doar 3n operaii. n plus, utilizarea schemei menionate nu numai c economisete timpul de
calcul, dar i mbuntete exactitatea calculelor n baza diminurii erorilor de rotunjire (numrul mare
de operaii poate duce la pierderea exactitii datorit acumulrii erorilor de rotunjire). Realizarea celor
douetape ale algoritmului necesit 21.5 4.5n n+ operaii aritmetice cu numere reale.
n cazul n care este necesar s se calculeze valorile polinomului de interpolare ( )nN x n mai multe
puncte, diferenele divizate 0[ ;...; ] ( 1, )i f x x i n = se calculeaz doar o singur dat, iar pentru a calcula
valorile cerute se apeleazdoar la algoritmul lui Horner. Dacse efectueaz m evaluri, efortul global de
calcul este de 21.5( ) 3n n mn+ + operaii cu numere reale. Spaiul de memorie necesar pentru realizarea
algoritmului este de ordinul (2 )O n . Timpul de calcul este dependent de eroarea impus, avnd valori mari
doar n cazurile n care se dorete o precizie ridicat.
Algoritmul permite i mrirea gradului polinomului de interpolare cu un efort minim de calcul, ntruct la adugarea unui nou nod n reeaua de interpolare se reutilizeaz coeficienii de la gradul
anterior.
n cazul n care ( )f x este continu, se poate utiliza urmtoarea formul pentru eroarea
( ) : ( ) ( )Nn nE x f x N x= a procesului de interpolare n punctul 0[ ; ]n z x x :
0 1 0( ) [ ; ;...; ; ] ( ), ( ) ( ) ... ( )N
n n n n nE z f x x x z z z z x z x = = .
Remarc. n cazul interpolrii pe o reea neuniform, se recomand a alege n calitate de noduri
urmtoarele puncte [24, p.541]:
( ) 2 ( ) 2, 0,i i
x b a t b a i n= + + = ,
unde cos((2 1) (2 2)) ( 0, )i
t i n i n= + + = sunt zerourile polinomului Chebyshev de spea I de gradul 1n + ;
0[ ; ]( [ ; ]) na b x x - segment pe care este definit funcia ( )f x . Prin aceasta se obine, n primul rnd,
micorarea influenei erorii de calcul asupra rezultatului, iar n al doilea rnd, n cazul unei funcii
suficient de netede, eroarea se micoreazodatcu creterea lui n . Evaluarea erorii de interpolare pentru
cazul n care 1 0( ) [ ; ]n
nf x C x x+ este datde formula:
0
1( 1)1 0
12 1 [ ; ]
( )( ) ; max ( )
( 1)! 2 n
nnn n
n nn x x x
M x x E z M f x
n
+
++
++
=
+.
Interpolare polinomial pe reea uniform
Polinomul de interpolare sub forma lui Lagrange cu noduri echidistante
n cazul n care nodurile reelei sunt echidistante, adicare loc relaia
0 , 0, , 0i x x ih i n h= + = > ,
formula polinomului de interpolare Lagrange (2.2) se simplifici capturmtorul aspect:
000
( 1)( ) ( ) ( ) ( 1)
!
n n ni i i
n n n
ij
y L x L x th t j C
n t i==
+ =
,
unde 0( )t x x h= , iar ! ( !( )!)i
nC n i n i= - numrul combinrilor din n elemente luate cte i . Se vor
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
20/74
Lucrarea de laborator 2 19
utiliza dou procedee de optimizare a algoritmului de calcul: primul - bazat pe formula de recuren
1 01 1 1( 2, , 1, 1; 1)
i i i
k k k k C C C k n i k C
= + = = = (triunghiul lui Pascal), iar al doilea pe formula combinrilor
complementare i n in n
C C
= ( [ ]0, 2 ,i n n= , [ ]2n - partea ntreaga numrului 2n ).
Pseudocodul algoritmului
Date de intrare:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;n (de tip ntreg) gradul maximal al polinomului de interpolare;
0 , nx x - (de tip real) primul i respectiv, ultimul nod al reelei de interpolare;
[ ]y n - tabloul (cu elemente de tip real; indici de la 0 la n ) valorilor funciei ( )f x n nodurile de interpolare.Date de ieire:
z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;p (de tip real) valoarea polinomului de interpolare n punctul z ;
ntreg , ,i j kreal , , ,h t p s tablou real [ ]c k (tabloul (cu elemente de tip real; indici de la 0 la k) ce conine numrul combinrilor din n
elemente luate cte , 0,i i k= )
[ ] 0 0: 2 ; : ( ) ; : ( ) ; : ( 1)n
nk n h x x n t z x h p t = = = =
pentru : 1,j n= execut : ( )p p t j j=
0 : 1c =
pentru : 1,i k= execut : 0ic =
pentru : 1,j k= execut { pentru : ,1i j= execut 1:i i ic c c= + }
pentru : 1, j k n= + execut { pentru : ,1i k= execut 1:i i ic c c= + }
: 0; : mod 2s j n= =
dac 1j = atunci { pentru : 0,i k= execut : ( 1) ( ( ) ( ( )))ii i n i
s s c y t i y t n i
= + }
altfel{
pentru : 0, 1i k= execut : ( 1) ( ( ) ( ( )))ii i n i
s s c y t i y t n i= + +
: ( 1) ( )kk k
s s c y t k = +
}: p p s=
scrie ,z p
Analiza algoritmului
Realizarea algoritmului necesit un efort de calcul de 2(0.375 3.75 )O n n+ operaii aritmetice i un
spaiu de memorie de (1.5 )O n .
Polinomul de interpolare sub forma lui Newton cu noduri echidistante
A)Formula lui Newton de interpolare ascendentare aspectul urmtor:1
00 0
1 0
( ) ( ) ( )!
k kn
n n
k j
y N x N x th y t j
k
= =
+ = + , (2.7)
unde 0( ) , 0t x x h h= > - pasul tabelei de valori. Relaia (2.7) utilizeaz diferenele finite de ordinul k
ale funciei ( )f x :
1 11 , 1, , 0,
k k k
i i iy y y k n i n k
+ = = = . (2.8)
n particular, pentru 0, 1,i k n= = , obinem diferenele finite din formula (2.7). Vom considera c
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
21/74
20 Lucrarea de laborator 2
00( ), , 0,i i i iy y f x x x ih i n = = = + = .
Evaluarea valorii polinomului (2.7) se va efectua n modul urmtor:
1. Utiliznd definiia (2.8), se genereaz diferenele finite. Vom ine cont c n procesul de
construcie a polinomului particip efectiv doar diferenele finite 0 , 1,...,k y k n = , de aceea restul
diferenelor le vom considera ca date intermediare. Pentru a economisi memoria, vom amplasa diferenele
n tabloul n care iniial se pstrau valorile funciei ( )f x n noduri. Tabloul dat se va nnoi parial la
calcularea diferenelor de ordin superior. Completarea tabloului va ncepe cu ultimul element al acestuia.
Astfel, la calcularea diferenelor finite de ordinul I, elementul ny se va nlocui cu 1ny , 1ny - cu 2ny
.a.m.d. Elementul 0y nu se modific. La calcularea diferenelor de ordinul II, primele douelemente ale
masivului nu sufer modificaii, iar restul elementelor sunt nlocuite cu diferenele respective. n
momentul n care a fost calculat diferena finit de ordinul n , n locul vectorului iniial 0 1( ; ;...; )T
n y y y
obinem vectorul2
0 0 0 0( ; ; ;...; )n T
y y y y .2.Evaluarea polinomului (2.7) n punctul z se efectueazconform algoritmului lui Horner. Pentru
aceasta 0( )n N x th+ se scrie sub forma:
2 10 0 0
0 0 0( ) ( 1) ... ( 2) ( 1) ...2! ( 1)! !
n n
n
y y y N x th y t y t t n t n
n n
+ = + + + + + + +
.
Vom afla valoarea acestui polinom n punctul z , calculnd succesiv mrimile:
00 0 1 0 0 0 1( ) , : !, : ( ) , 1,1, ( ) :!
k
n
n k k n
yt z x h b y n b t k b k n b N x th y t b
k+
= = = + = = + = + .
Pseudocodul algoritmului
Date de intrare:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;n (de tip ntreg) gradul maximal al polinomului de interpolare;
0 , nx x - (de tip real) primul i respectiv, ultimul nod al reelei de interpolare;[ ]y n - tabloul (cu elemente de tip real; indici de la 0 la n ) valorilor funciei ( )f x n nodurile de interpolare.
Date de ieire:z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;p (de tip real) valoarea polinomului de interpolare n punctul z ;
ntreg , ,i k u real , ,h t p
pentru : 1,i n= execut { pentru : ,k n i= execut 1:k k k y y y = }: 1u =
pentru : 2,i n= execut { : ; :i i
u u i y y u= = }
0 0: ( ) ; : ( ) ; :n nh x x n t z x h p y= = =
pentru : 1,0i n= execut : ( )ip y t i p= + scrie ,z p
Analiza algoritmului
n cazul n care sunt cunoscute diferenele finite, pentru realizarea algoritmului este necesar un efortde calcul de 20.5 6.5 3n n+ operaii aritmetice cu numere reale i un spaiu de memorie de ( )O n .
n cazul n care 1 0( ) [ ; ]n
nf x C x x
+ este adevraturmtoarea estimaie pentru eroarea procesului de
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
22/74
Lucrarea de laborator 2 21
interpolare n punctul 0[ ; ]n z x x [8; 16; 24, p.538]:
11( ) ( 1) ... ( ) ( 1)!
N n
n nE z t t t n h M n
+
+ + ,
unde0
( 1)1 0
[ ; ]max ( ) , ( )
n
n
nx x x
M f x t z x h+
+
= = .
B)Formula lui Newton de interpolare descendentare aspectul urmtor:1
1 0
( ) ( ) ( )!
k knn k
n n n n
k j
y N x N x th y t j
k
= =
+ = + + , (2.9)
unde kn k
y sunt diferene finite de ordinul , 1,k k n= , ( )nt x x h= (deoarece 0( ; )n x x x avem 0t< ),
0 , 0,i x x ih i n= + = , 0h > - pasul tabelului de valori.
Ca i n cazul precedent A), se vor calcula diferenele finite n baza relaiei (2.8) i se vor memora
n tabloul valorilor funciei ( )f x n noduri. Vom meniona, totui, c n cazul dat tabloul se va completa
ncepnd cu primul element: elementul 0y se va nlocui cu 0y , 1y - cu 1y .a.m.d. n momentul n care
a fost calculat diferena finit de ordinul n , n locul vectorului iniial 0 1( ; ;...; )T
n y y y obinem
10 1 1( ; ;...; ; )
n n T
n n y y y y
. Evaluarea polinomului (2.9) n punctul z se efectueaz n baza algoritmului
lui Horner:
01 0 1( ) , : , : ( ) , 1,1, ( ) :! !
n k
n kn n k k n n n
y yt z x h b b t k b k n b N x th y tb
n k
+
= = = + + = = + = + .
Pseudocodul algoritmului
Date de intrare:
z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;n (de tip ntreg) gradul maximal al polinomului de interpolare;
0 , nx x - primul i, respectiv, ultimul nod (de tip real) al reelei de interpolare;
[ ]y n - tabloul (cu elemente de tip real; indici de la 0 la n ) valorilor funciei ( )f x n nodurile de interpolare.Date de ieire:
z (de tip real) punctul n care se calculeaz valoarea polinomului de interpolare;p (de tip real) valoarea polinomului de interpolare n punctul z ;
ntreg , ,i k u real , ,h t p
pentru : 1,i n= execut { pentru : 0,k n i= execut 1:k k k y y y+= }
: 1u = pentru : 2,i n= execut { : ; :n i n iu u i y y u = = }
0 0: ( ) ; : ( ) ; :n nh x x n t z x h p y= = =
pentru : 1,0i n= execut : ( )n i
p y t i p
= + +
scrie ,z p
Analiza algoritmului
n cazul n care sunt cunoscute diferenele finite, pentru realizarea algoritmului este necesar un efort
de calcul de 20.5 6.5 3n n+ operaii aritmetice cu numere reale i un spaiu de memorie de ( )O n .
n cazul n care 1 0( ) [ ; ]n nf x C x x+
este adevraturmtoarea estimaie pentru eroarea procesului deinterpolare n punctul 0[ ; ]n z x x [24, p.538]:
11( ) ( 1) ... ( ) ( 1)!
N n
n nE z t t t n h M n+
+ + + + ,
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
23/74
22 Lucrarea de laborator 2
unde0
( 1)1
[ ; ]max ( ) , ( )
n
n
n nx x x
M f x t z x h++
= = .
Remarc. Din punctul de vedere al exactitii calculelor este rezonabil s se utilizeze formula
Newton de interpolare ascendent pentru calculul valorii funciei n punctele jumtii din stnga a
segmentului 0[ ; ]nx x , iar formula Newton de interpolare descendent n punctele jumtii din dreapta a
segmentului 0[ ; ]nx x .3.III. Modul de desfurare a lucrrii
Cerine fa de ndeplinirea lucrrii
Fie dat analitic funcia ( ), [ ; ]= y f x x a b . n baza pseudocodurilor descrise n seciunea II a
lucrrii, sse elaboreze un program, care are drept obiectiv realizarea urmtoarelor etape:
1) Calculul valorilor ( ), 0, ( )= = i i
y f x i n n (cu ajutorul funciilor standard ale mediului de
programare) n punctele distincte ix , 0 1 ... < < < na x x x b .
2) Calculul valorii aproximative a funciei ( )f x n punctul x z= , utiliznd polinomul de interpolare sub
forma lui Lagrange sau Newton.
3) Calculul aproximativ cu exactitatea 610 = (sau cu cea mai bun exactitate posibil) al valorii
funciei ( )f x n punctul x z= , utiliznd algoritmul lui Neville-Aitken.
S se analizeze variaia erorii la aproximarea prin interpolare a funciei ( )f x n x z= (a se vedea
punctul 2)) n funcie de:
2.1. Numrul nodurilor de interpolare;
2.2. Distribuia nodurilor de interpolare:
a) noduri echidistante;
b) nodurile sunt n concordan cu zerourile polinomului Chebyshev de gradul 1n + definit pe
0[ ; ] [ ; ]na b x x ;
c) alte modaliti de amplasare;
2.3. Poziia punctului z (n vecintatea extremitii din stnga sau din dreapta a segmentului de
interpolare, sau n vecintatea mijlocului acestuia).
Sse testeze programul de calcul pe exemplele propuse la sfritul lucrrii de laborator.
Sse extragla tipar tabelele (pentru fiecare polinom de interpolare):
Tabelul dupcare se interpoleaz(suportul problemei de interpolare)
( 0, )=i
x i n - nodurile reelei de interpolare;
( 0, )=i
y i n - valorile funciei ( )f x n noduri;Tabelul interpolrii i testrii
( 1, )=j z j m - punctele n care se interpoleazvaloarea funciei
( )f x ;( 1, )=jP j m - valorile polinomului de interpolare n punctele jz ;
( 1, )j f j m= - valorile funciei ( )f x n punctele jz , calculate cu
ajutorul funciilor standard ale mediului de programare;
i 0x ... nx
i 0y ... ny
j jz jP jf j
1 m
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
24/74
Lucrarea de laborator 2 23
( 1, )j j m = - erorile de interpolare j j jf P = n punctele jz .
Programul trebuie sdea rezultat pentru orice sistem finit de puncte de interpolare.
Chestiuni de studiat
1. Precizai modalitile prin care poate fi diminuateroarea interpolrii.
2.S se fac o analiz experimental a timpului de calcul al valorilor polinomului de interpolare n
funcie de gradul polinomului.
3. S se formuleze exemple de funcii continue pentru care polinoamele de interpolare corespunztoare
nu vor converge uniform.
4. S se construiasc polinoamele de interpolare Lagrange i Newton ce aproximeaz funcia2( ) 1 (1 25 ) , [ 1;1] f x x x= + . S se reprezinte grafic funcia ( )f x i polinomul de interpolare
corespunztor, precum i variaia erorii n funcie de numrul nodurilor de interpolare dac:
nodurile reelei de pe [ 1;1] sunt echidistante;
nodurile reelei sunt zerourile polinomului Chebyshev de gradul 1n + .
5. Analizai comportarea aproximrii funciei prin interpolare polinomial n exteriorul segmentului
0[ ; ]nx x (problema extrapolrii).
Probleme propuse spre rezolvare
2
2
sin
1. ( ) sin ( 1), [0;2];
2. ( ) 1, [0.5;4];
3. ( ) sin , [1;4];4. ( ) ln , [2;5];
5. ( ) cos , [2;4];
6. ( ) ln( 1) , [10;15];
7. ( ) ln , [2;4];
8. ( ) , [4;7];
9. ( ) ,
x
x
x
x
x
x
x
f x e x x x
f x e x x
f x e x x x
f x x x x
f x e x x x
f x x x x
f x e x x
f x xe x
f x e x
+
= +
= +
=
=
=
= +
=
=
=
2
2sin
cos
[0.2;2];
10. ( ) , [1.1;4];
11. ( ) , [1;4];12. ( ) , [10;16];
13. ( ) 3sin cos2 , [ 2;0];
x
x
x
x
f x e x x
f x xe x
f x xe x
f x x x x
=
=
=
= +
2
2
3
2
2
14. ( ) ( 1) 0.5 , [0;3];
15. ( ) ( 1) , [0;2.5];
16. ( ) sin , [0.6;3];17. ( ) 4 cos , [0;5];
18. ( ) sin , [ 1;4];
19. ( ) sin cos , [ 3; 3];
20. ( ) cos , [ 2;4];
21. ( ) cos
x
x
f x x e x
f x x e x
f x x x x
f x x x x
f x x x x
f x x x x
f x x x x
f x x
=
=
=
=
=
= +
=
=
2
2
sin , [ 2; 2];
22. ( ) 2cos0.5 , [ 2;3];
23. ( ) 2 cos , [ 2;3];
24. ( ) ln( 5), [ 4;3];25. ( ) sin3 4cos3 , [0; 2];
26. ( ) lg , [2;6].
x x
f x x x x
f x x x x
f x x x x
f x x x x
f x x x x
=
=
= + +
=
= +
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
25/74
24 Lucrarea de laborator 3
LUCRAREA DE LABORATOR3
APLICAREA FORMULELOR DE CUADRATUR
LA CALCULUL APROXIMATIV AL INTEGRALEI3.I. Scopul lucrrii
Studiul unor algoritmi de integrare numeric i implementarea acestora ntr-un limbaj de
programare de nivel nalt.3.II. Prezentarea teoretic a lucrrii
Formularea problemei
Fie :[ ; ] ( ) f a b a b < < < o funcie continu. Sse calculeze integrala definit
( )b
a
I f x dx= , (3.1)
cu exactitatea 0 > , utiliznd n acest scop o formulde integrare numeric.
Noiunea de integral definit de la funcia ( )f x , definit pe intervalul [ ; ]a b , se va nelege n
sensul lui Riemann. Din cursul Analiza matematic se tie c aceasta reprezint un numr ce poate fi
calculat, cnd se cunoate primitiva ( )F x a integrandului, cu ajutorul formulei Leibniz-Newton
( ) ( )I F b F a= . (3.2)
O condiie suficient pentru ca s existe integrala definit (3.1) este ca funcia )(xf s fie continu pe
[ ; ]a b . Dar primitiva ei, deseori, nu se exprim prin funcii elementare, ceea ce face imposibil aplicarea
formulei (3.2) n acest caz. n afarde aceasta, n multe probleme cu caracter aplicativ, funcia ( )f x nu se
cunoate ea nsi dect sub form tabelari atunci determinarea primitivei n genere nu poate fi fcut.Din aceste motive formula (3.2) nu are aplicare larg n practic i se recurge frecvent la calculul
aproximativ al integralei cu ajutorul formulelor de cuadratur (prescurtat FC). Forma general a acestor
formule este [2-5; 8; 10; 13; 15; 16; 20-21; 23-24]
0
( )n
n i i
i
I c f x=
= , (3.3)
unde [ ; ] ( 0, )i
x a b i n = i se numesc nodurile formulei de integrare numeric, iar ( 0, )i
c i n= sunt
coeficienii ei. Restul ( )nR f al FC (3.3) este definit ca ( ) :n nR f I I = . Acesta ofer informaii privindclasa funciilor pentru care formula de integrare numericeste eficient, n sensul cpentru funcia dati
0 > , pentru numere n suficient de mari, are loc relaia ( )n n
R f I I = < . n aplicaii, testarea
acurateei aproximrii impune verificarea unei inegaliti de forma n nI I < pentru n n > .
Trebuie menionat, de asemenea, ci pentru calculul integralei ( ) ( )b
a
x f x dx , n care : ( ; )a b
este o funcie continupozitiv, numitpondere, pot fi construite FC de forma (3.3).
O metodde obinere a unor FC const n aproximarea funciei )(xf prin polinomul de interpolare
( )n
P x , construit pe sistemul de noduri 0 1, ,..., n x x x de pe [ ; ]a b i integrarea (analitic) celui din urm n
aceleai limite. Diferite variante de formule se pot obine n dependen de ponderea concret ( )x , de
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
26/74
Lucrarea de laborator 3 25
numrul de noduri n, de alegerea concreta nodurilor ix , ct i de forma polinomului de interpolare ales
pentru aproximare.
Mai nti considerm cazul ( ) 1x = . mprim segmentul [ ; ]a b n n pri egale, de lungime
( )h b a n= , prin intermediul punctelor echidistante
, 0,i
x a ih i n= + = . (3.4)
Formula dreptunghiurilor
Dacfuncia )(xf este aproximatpe [ ; ]a b cu un polinom de gradul zero 0 ( ) ( )P x f x= , unde x este
mijlocul intervalului de integrare, rezultformula dreptunghiului:
( )( ) ( ) 2I b a f a b= + . (3.5)
n practic aceast formul se aplic sub form generalizat. Integrala definit pe [ ; ]a b se exprim ca
suma integralelor pe fiecare din subintervalele 1[ ; ], 0, 1i i x x i n+ = (valorile , 0,i x i n= sunt definite de
relaia (3.4)), apoi la fiecare termen al sumei se aplicformula dreptunghiului. Astfel obinem relaia:1
0
( 2)n
i
i
I h f x h
=
= + , (3.6)
care poart denumirea de formula generalizat a dreptunghiurilor medii. n cazul n care 2( ) [ ; ]f x C a b ,
estimarea restului ( )dn
R f al formulei (3.6) poate fi fcutcu ajutorul inegalitii [1; 6]:
( ) ( )3 22 2[ ; ]
( ) ( ) 24 , : max ( )dnx a b
R f b a M n M f x
= . (3.7)
Formula trapezelor
Aceast formulse obine dac funcia ( )f x se aproximeazpe [ ; ]a b prin polinomul de interpolare
de gradul nti 1( )P x conform nodurilor 0 1, x a x b= = i are forma:
( )( ) ( ) ( ) 2I b a f a f b= + . (3.8)
Utiliznd proprietatea de aditivitate a integralei fade intervalul de integrare i formula (3.8) pentru
fiecare din subintervalele 1[ ; ] ( 0, 1)i i x x i n+ = , se obine formula generalizata trapezelor:
( )1
0 1
( ) ( ) 2 ( )n
n ii
I h f x f x f x
=
= + +
. (3.9)
n cazul n care 2( ) [ ; ]f x C a b , pentru restul ( )tn
R f al FC (3.9) avem estimaia [2-8; 10; 16; 20-21; 23-25]
( ) ( )3 22 2[ ; ]
( ) ( ) 12 , max ( )tnx a b
R f b a M n M f x
= . (3.10)
Formula lui Simpson (parabolelor)
Considernd c funcia de integrat ( )f x se aproximeaz pe [ ; ]a b prin polinomul de interpolare de
gradul doi 2 ( )P x , conform nodurilor 0 1 2, ( ) 2,x a x a b x b= = + = , obinem urmtoarea aproximaie a
integralei cutate( )( )( ) 4 ( ) 2 ( ) ( ) 6I f a f a b f b b a= + + + , (3.11)
ce poart numele lui Simpson. Pentru a obine i n acest caz o formul, care s asigure o precizie mai
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
27/74
26 Lucrarea de laborator 3
mare, se considercsegmentul [ ; ]a b este divizat n 2n m= pri egale cu ajutorul punctelor (3.4). Pentru
fiecare subinterval de forma 2[ ; ]i ix x + aplicm formula (3.11) i summ dup toate valorile lui 0, 2i n= .
Drept rezultat obinem formula generalizata lui Simpson:
2 2 1
0 2 1 21 1
( ) ( ) 4 ( ) 2 ( )3
n n
n i i
i i
hI f x f x f x f x
= =
= + + +
. (3.12)
n cazul n care ( )( ) [ ; ]IVf x C a b , pentru restul ( )tn
R f al formulei (3.12) avem estimaia [2-6; 16; 24]
( ) ( )5 4 ( )4 4[ ; ]
( ) ( ) 180 , max ( )S IVnx a b
R f b a M n M f x
= . (3.13)
Pseudocodul algoritmilor
Date de intrare:
,a b (de tip real) limitele intervalului de integrare;n (de tip ntreg) numrul de pri n care este divizat intervalul de integrare;
( )f x - numele subprogramului-funcie (de tip real), cu ajutorul cruia se calculeaz valoarea
integrandului ( )f x .Date de ieire:s (de tip real) valoarea aproximativ a integralei;
ntreg i
real , ,h s x formula dreptunghiurilor
: ( ) ; : 0; : 2h b a n s x a h= = = +
pentru : 0, 1i n= execut : ( )s s f x ih= + +
:s hs= scrie s
formula trapezelor
: ( ) ; : 0h b a n s= =
pentru : 1, 1i n= execut : ( )s s f a ih= + +
: ( 0.5( ( ) ( )))s h s f a f b= + + scrie s
formula lui Simpson
: ( ) ; : 0.5( ( ) ( )); : 1h b a n s f a f b i= = = execut{
: ; : 2 ( ) ( ); : 2x a ih s s f x f x h i i= + = + + + = + }
ct timp i n<
: 2 3s hs= scrie s
Remarc. Adunarea repetata lungimii pasului sub forma 1i i x x h= + , n cazul n care se genereaz
un numr mare de noduri de integrare, poate condiiona acumularea de erori. Drept urmare, n descriereaalgoritmilor s-a utilizat relaia , 0,
i x a ih i n= + = .
Algoritmi cu control automat al pasului de integrare (implicit i al exactitii de calcul)
Evaluarea constantelor 2M i M , prezente n relaiile (3.7), (3.10) i (3.13), de cele mai dese ori
ntmpindificulti serioase. De aceea, n practiccontrolul preciziei de integrare se efectueaz n baza
unui algoritm numeric, cunoscut ca procedeul lui Runge [25, p.149]. Acest proces implic la pasul
( 0,1,...)k k= calculul aproximativ al integralei (3.1) conform uneia dintre formulele (3.6), (3.9) sau
(3.12), pentru o valoare h a pasului, corespunznd unui numr 2 1kp = + de puncte de integrare, i
compararea valorii ( )kI astfel obinute cu valoarea ( 1)kI + rezultat pentru pasul 2h , corespunznd unui
numr de 2 1p puncte de integrare. ntruct pentru eroarea de aproximare a integralei (3.1) are loc
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
28/74
Lucrarea de laborator 3 27
urmtoarea relaie [16, p.394]
( )( 1) ( 1) ( ) 2 1k k k m I I I I + + ,
( m este o constant care coincide cu ordinul formulei de cuadratur aplicate) njumtirea pasului
trebuie continuat, n principiu, pn cnd eroarea ( 1) ( )k kI I+ pentru dou aproximaii consecutive ale
integralei scade sub o valoare admisibil (2 1)m . Apoi se consider ( 1)kI I+
. Trebuie menionat cpentru formulele (3.6) i (3.9) avem 2m = , iar pentru (3.12) - 4m = .
Calculul integralei cu o precizie prestabilit prin metoda njumtirii pasului poate fi optimizat
observnd cnu este necesarevaluarea funciei n toate punctele de integrare, ci doar n cele prin care au
fost njumtite subintervalele reelei utilizate n etapa anterioar. Restul valorilor funciei, deja calculate
la paii anteriori, sunt folosite implicit stabilind o relaie de recuren ntre douaproximaii consecutive
ale integralei.
Pseudocodul algoritmilorCazul formulei dreptunghiurilor generalizate
Date de intrare:
,a b (de tip real) limitele intervalului de integrare;( )f x - numele subprogramului-funcie (de tip real), cu ajutorul cruia se calculeaz valoarea integrandului
( )f x ; (de tip real) - exactitatea de calcul.
Date de ieire:
2s (de tip real) valoarea aproximativ a integralei;k (de tip ntreg) numr ce indic de cte ori a fost njumtit pasul de integrare h ;
ntreg , ,n i kreal 1, 1, 2, ,h s s x
1: 0; : 3 ; : 1; : ; 2: (( ) 2)k n h b a s h f a b = = = = = + execut
{
: 2 ; 1: 2; : 2; : 1; 2: 0; : 2n n s s h h k k s x a h= = = = + = =
pentru : 1,i n= execut 2 : 2 ( )s s f x ih= + + 2 : 2s s h=
}
ct timp 12 1s s
scrie 2,s k
Cazul formulei trapezelor generalizate
Se poate verifica frdificultate c succesiunea de aproximaii obinute prin formula (3.9) poate fi
descriscu ajutorul procesului iterativ [3, p.76]:
1
(0 )0 0 0
( ) ( 1)1 1 1 1
1
( ( ) ( )) 2, , 1,
1( ( 1 2) ) , 2, 2 , 1,2,...,
2
k
tr
nk k
tr tr k k k k k k
i
I f a f b h h b a n
I I h f a i h h h n n k
=
= + = =
= + + = = =
(3.14)
unde ( )k kh b a n=
este lungimea subintervalelor dup etapa k, iar 2
k
kn=
reprezint numrulcorespunztor de subintervale sau, echivalent, numrul punctelor noi de integrare i de njumtire a
subintervalelor pentru etapa urmtoare. Procesul recurent (3.14) trebuie continuat pn cnd modulul
diferenei dintre douaproximaii succesive ale integralei devine mai mic dect (2 1)m .
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
29/74
28 Lucrarea de laborator 3
Date de intrare:
,a b (de tip real) limitele intervalului de integrare;( )f x - numele subprogramului-funcie (de tip real), cu ajutorul cruia se calculeaz valoarea integrandului
( )f x ; (de tip real) - exactitatea de calcul.
Date de ieire:
2t (de tip real) valoarea aproximativ a integralei;k (de tip ntreg) numr ce indic de cte ori a fost njumtit pasul de integrare h ;
ntreg , ,n i kreal 1, 1, 2, ,h t t x
1: 0; : 3 ; : 1; : ; 2: 0.5 ( ( ) ( ))k n h b a t h f a f b = = = = = + execut
{
1: 2; 2 : 0; : 0.5t t t x a h= = =
pentru : 1,i n= execut 2 : 2 ( )t t f x ih= + + 2 : 0.5( 1 2); : 2 ; : 0.5 ; : 1t t h t n n h h k k = + = = = +
}ct timp 12 1t t
scrie 2,t k
Cazul formulei lui Simpson generalizate
Avnd n vedere aproximaiile date de formula generalizata trapezelor pentru valori ale pasului de
integrare njumtite succesiv, se poate verifica caproximaiile formulei generalizate a lui Simpson pot
fi exprimate n raport cu cele dinti:( ) ( ) ( 1)(4 ) 3k k kS tr tr I I I
= .
Atunci, algoritmul pentru calculul recursiv al aproximaiilor conform formulei (3.12) poate fi descris cu
ajutorul relaiilor:
1
(0 )0 0 0
( ) ( 1)1 1
1
( ) ( ) ( 1)1 1
( ( ) ( )) 2, , 1,
1( ( 1 2) ) , 1,2,...,
2
(4 ) 3; 2, 2 ( ( ) , 2 ).
k
tr
nk k
tr tr k k
i
k k k k
S tr tr k k k k k k k
I f a f b h h b a n
I I h f a i h k
I I I h h n n h b a n n
=
= + = =
= + + =
= = = = =
Date de intrare:
,a b (de tip real) limitele intervalului de integrare;( )f x - numele subprogramului-funcie (de tip real), cu ajutorul cruia se calculeaz valoarea integrandului( )f x ;
(de tip real) - exactitatea de calcul.Date de ieire:
2s (de tip real) valoarea aproximativ a integralei;k (de tip ntreg) numr ce indic de cte ori a fost njumtit pasul de integrare h ;
ntreg , ,n i kreal 1, 1, 2, 1, 2,h t t s s
1: 0; : 15 ; : 1; : ; 2 : 0.5 ( ( ) ( )); 2 : 2k n h b a t h f a f b s t = = = = = + = execut
{1: 2; 2 : 0; 1: 0.5t t t s a h= = =
pentru : 1,i n= execut 2 : 2 ( 1 )t t f s ih= + +
1: 2; 2 : 0.5( 1 2); 2 : (4 2 1) 3; : 2 ; : 0.5 ; : 1s s t t h t s t t n n h h k k = = + = = = = +
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
30/74
Lucrarea de laborator 3 29
}
ct timp 12 1s s
scrie 2,s k
Remarc. Pentru ca numrul n al divizrilor intervalului [ ; ]a b , ca putere a lui doi, snu depeasc
valoarea maximde tip long reprezentabil, se recomandca numrul de njumtiri ale subintervalelor
s fie limitat. Dac, datoritconvergenei slabe a procesului, se epuizeaznumrul maximal admisibil deiteraii posibile fr a se fi atins exactitatea dorit n calculul integralei (3.1), se iese din ciclul
njumtirilor i se emite un mesaj de eroare.
Analiza algoritmilor
Se observ c restul formulei (3.12) depinde de h (eroarea formulei este de ordinul patru
( ) ( )SnR f O h= ), n timp ce restul formulelor (3.6) i (3.9) depinde doar de2h . Astfel, formula lui Simpson
este cu un grad de precizie mai ridicat dect formulele dreptunghiului sau trapezului. n schimb, acestea
din urmsunt mai flexibile, deoarece utilizeazo reea cu un numr oarecare de noduri, spre deosebire deformula lui Simpson, care necesitun numr impar de noduri. Formulele (3.6) i (3.9) sunt exacte pentru
orice funcie liniar, pe cnd formula (3.12) este exactpentru orice polinom de grad mai mic sau egal cu
trei. FC (3.6), (3.9) i (3.12) sunt cazuri particulare ale formulelor Newton-Ctes [2, p.88].
Formule de cuadratur de tip Gauss
Spre deosebire de FC Newon-Ctes, care utilizeaz diviziuni echidistante ale intervalului de
integrare, n formulele de tip Gauss nodurile se aleg ntr-un mod optim pentru ca eroarea de aproximare a
integralei sfie minim.n cele ce urmeazvom considera formule de integrare numericde forma:
1
( ) ( ) ( )b n
i i
ia
x f x dx c f x=
, (3.15)
unde ponderea ( )x este o funcie continui pozitivpe ( ; )a b . Dacnodurile ( 1, )i x i n= se aleg ca fiind
zerourile unui polinom ( )q x de gradul n ce satisface relaia de ortogonalitate
( ) ( ) ( ) 0b
a
x p x q x dx = , (3.16)
pentru orice polinom ( )p x de grad pn la 1n , atunci formula (3.15) are gradul (maxim) de exactitate
2 1n (formula va fi exactpentru orice polinom de grad mai mic sau egal cu 2 1n ) [3, p.70]. FC de tip
Gauss sunt formule de forma (3.15) pentru care se atinge gradul maxim de exactitate. Zerourile unui
polinom ce satisface relaia (3.16) sunt simple i aparin intervalului deschis ( ; )a b .
Odat stabilit familia de polinoame ortogonale n raport cu ponderea ( )x , se afl rdcinile
acestora, iar coeficienii ( 0, )ic i n= rezult din formula ( ) ( )b
i i
a
c x l x dx=
, n care ( )il x sunt polinoamele
fundamentale de interpolare Lagrange.
Pentru orice funcie continu pe [ ; ]a b , aproximaiile integralei conform formulei de tip Gauss vor
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
31/74
30 Lucrarea de laborator 3
converge cnd n ctre valoarea exacta integralei [4, p.174].
Cazul ( ) 1x = . Formula de cuadratur a lui Gauss-Legendre
Vom analiza mai nti cum se aproximeaz integrala1
1
( ) f t dt
i vom extinde apoi metoda pentru
calculul integralei pe orice interval [ ; ]a b .
Se pune problema de a determina nodurile ( 1, )i
t i n= din intervalul [ 1;1] i coeficienii ( 1, )i
c i n=
astfel nct FC1
11
( ) ( )n
i i
i
f t dt c f t =
sfie exactpentru orice polinom de grad mai mic sau egal cu 2 1n .
Pentru un n fixat n calitate de noduri ale FC se iau zerourile polinomului de gradul n din sistemul
ortogonal a lui Legendre:
( )21
( ) ( 1) , 0,1,... ( [ 1;1])2 !
nn
n n n
d L t t n t
n dt= = .
Polinomul ( )nL t are n rdcini reale, distincte, simetrice fade origine, situate n intervalul ( 1;1) .
Coeficienii ic se obin prin integrarea pe intervalul [ 1;1] a polinoamelor fundamentale de
interpolare Lagrange, construite cu ajutorul rdcinilor polinomului Legendre ( )nL t :
( ) ( )( )1
1,1
, 1,n
i j i j
j j i
c t t t t dt i n=
= =
.
n general, pentru calculul aproximativ al integralei ( )b
a
f x dx se face mai nti schimbarea de
variabil ( ) 2 ( ) 2x t b a b a= + + , pentru a avea limitele de integrare 1 i 1. Astfel, se obine formula
( )1
1
( ) ( ) , ( ) ( ) 2 ( ) 22
b
a
b af x dx F t dt F t f t b a b a
= = + + . Aplicnd ultimei integrale FC a lui Gauss
Legendre, avem:
1
( ) ( )2
b n
i i
ia
b a f x dx c f x
=
, (3.17)
unde ( ) 2 ( ) 2, 1,i i
x t b a b a i n= + + = , cu it zerourile din intervalul ( 1;1) ale polinomului Legendre
( )nL t .
Exist tabele speciale unde pot fi gsii coeficienii i nodurile FC a lui Gauss-Legendre pentru
diferite valori ale lui n . n tabelul de mai jos sunt indicate nodurile de integrarei
t i coeficieniii
c
corespunztori, pentru un numr de intervale 2,3,4,5n = .
n , 1,i
t i n= , 1,i
c i n=
2 2 1 1 3t t= = 1 2 1c c= =
3 3 1 23 5, 0t t t= = = 1 3 25 9, 8 9c c c= = =
4 4 1 3 20.8611363116, 0.3399810436t t t t = = = = 1 4 2 30.3478548451, 0.6521451549c c c c= = = =
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
32/74
Lucrarea de laborator 3 31
5 5 1 4 2
3
0.9061798459, 0.5384693101,
0
t t t t
t
= = = =
= 1 5 2 4
3
0.2369268850, 0.4786286705,
0.5688888889
c c c c
c
= = = =
=
Cazul 21, 1, ( ) 1 1a b t t = = = . Formula de cuadratur a lui Gauss-Chebyshev
Se poate observa cfuncia pondere ( )t prezintsingulariti n 1 . Utilitatea practica unei astfel
de ponderi este integrarea numeric a funciilor ce prezint acelai gen de singularitate integrabil ncapetele domeniului de integrare, utiliznd procedeul izolrii comportrii singulare din capete n funcia
pondere.
FC a lui Gauss-Chebyshev se aplicpentru integrale de forma ( )1
1 22
1
1 ( )t F t dt
i are aspectul:
1
211
1( ) ( )
1
n
i i
i
F t dt c F t t =
. (3.18)
Aici valorile ( 1, )it i n= ale nodurilor de integrare sunt zerourile polinomului ( ) cos( arccos( ))nT t n t = degradul n din sistemul de polinoame ortogonale ale lui Chebyshev de spea nti:
( ) ( )( )cos (2 1) 2 , 1,it i n i n= = ,
iar coeficieniii
c satisfac relaia , 1,i
c n i n= = . Deoarece toi coeficieniii
c din formula (3.18) au
aceeai valoare, aceast formul necesit un numr de operaii mai mic pentru atingerea unui anumit
ordin de precizie, n comparaie cu formula (3.17).
Orice integral de forma ( )
1 22
1 ( )
b
a x f x dx
sau ( )
b
af x dx ( a b < < < ), poate fi adus la forma
(3.18) printr-o transformare convenabilde variabil.
Pentru a calcula integrala ( ) ( )b
a
x f x dx cu exactitatea dat 0 > , conform formulei (3.17) sau
(3.18), se poate aplica principiul lui Runge. Algoritmii de calcul descrii de aceste dou formule sunt
simpli i se implementeazanalog celor definii de formulele (3.5), (3.8), (3.11).
3.III. Modul de desfurare a lucrrii
Cerine fa de ndeplinirea lucrrii
S se elaboreze un program destinat calculului integralei (3.1) cu exactitatea dat 0 > . n acest
scop, se vor implementa algoritmii metodelor numerice analizate la punctul 3.II ntr-un limbaj de
programare de nivel nalt. Programul de calcul s se testeze pe exemplele propuse la sfritul lucrrii de
laborator.
S se extrag la tipar valoarea aproximativ a integralei, numrul de njumtiri ale pasului iniial
de integrare necesar pentru a obine exactitatea cerut 0 > , precum i timpii necesari pentru efectuarea
unei iteraii i pentru atingerea unei precizii dorite. n plus, pentru fiecare algoritm se va afia ireprezenta grafic variaia erorii aparente ( 1) ( )k kI I+ (distana dintre dou iteraii succesive n cadrul
procedeului lui Runge) pe parcursul iteraiilor. Se vor compara rezultatele obinute prin utilizarea
-
8/3/2019 Metode Si Algoritmi La Analiza Numerica Capcelea Maria Capcelea Titu Secrieru Ion
33/74
32 Lucrarea de laborator 3
diferiilor algoritmi (eficiena lor relativ n rezolvarea problemei date) i se va determina algoritmul
optim.
Chestiuni de studiat
1. Comparai eficiena diferiilor algoritmi pentru calculul aproximativ al aceleiai integrale.
2. S se fac o analiz experimental a erorii la integrarea numeric n funcie de valoarea pasului de
integrare, precum i de modul de alegere a nodurilor i a coeficienilor FC.
3. S se fac o analiz experimental a dependenei timpului de calcul a aproximaiei integralei de
exactitatea de calcul impus.
Probleme propuse spre rezolvare
a) Pentru integralele definite ce urmeaz
1
20
11. ;
1dx
x+
22
0
7. sin ;x dx 1
0
13. cos ;