Sunteți pe pagina 1din 70

Universitatea de Stat „B. P.

Hasdeu” din Cahul


Facultatea de Economie, Inginerie și Științe Aplicate

Analiza numerică

Îndrumar de lucrări de laborator

Diana Bîclea

Cahul, 2016
519.6(076.5)
B 52
Aprobată spre editare în şedinţa Comisiei Metodico -
Ştiinţifice a Universităţii de Stat „B. P. Hasdeu” din Cahul din
6.12.2016 proces verbal nr. 02.

Recenzenţi:

- Doctor în științe pedagogice, conferențiar universitar,


Macrițchi Natalia, Colegiul de Medicină din orașul Cahul;
- Doctor în științe economice, conferențiar universitar,
Bîrlea Svetlana, Universitatea de Stat „Bogdan Petriceicu
Hasdeu” din Cahul.

Autor:
Diana Bîclea, conferențiar universitar, membrul
Catedrei de Matematică şi Informatică a Universitatea de Stat
„Bogdan Petriceicu Hasdeu” din Cahul;

Tehnoredactarea: Diana Bîclea

Bîclea, Diana.
Analiza numerică : Îndrumar de lucrări de laborator/ Diana
Bîclea; Univ. de Stat "B. P. Haşdeu" din Cahul. – Cahul:
Universitatea de Stat "B. P. Haşdeu" din Cahul, 2016 (Tipogr.
"Centro Grafic"). – 70 p.
Bibliogr.: p. 48-50 (21 tit.). – 150 ex.
ISBN 978-9975-88-014-5.
ISBN 978-9975-88-014-5.

2
Cuprins
Prefață…………………………………………………...…....6
1. Rezolvarea aproximativă a ecuaţiilor numerice.................8
1.1. Scopul lucrării...................................................................8
1.2. Indicaţii metodice.............................................................8
1.3. Considerații teoretice…………….……………………..9
1.3.1. Metoda dihotemiei ..…………………….….…..9
1.3.2. Metoda lui Newton...........................................10
1.3.3. Metoda secantelor………….………………….11
1.3.4. Metoda coardei..................................................12
1.4. Lucrul individual………………….………………..…...13

2. Rezolvarea sistemelor de ecuaţii algebrice liniare ..........14


2.1. Scopul lucrării.................................................................14
2.2. Indicaţii metodice.............. ..............................................14
2.3. Considerații teoretice………………..…….…………...15
2.3.1. Metoda Gauss……………………….……....15
2.3.2. Metoda factorizării………………………....16
2.3.3. Metoda Cholesky .……...……………..…….18
2.4. Lucrul individual………………….………………........20

3. Rezolvarea sistemelor de ecuaţii algebrice


neliniare………………………………………………..23
3.1. Scopul lucrării.................................................................23
3
3.2. Indicaţii metodice ..........................................................23
3.3. Considerații teoretice……………………………..…....24
3.1.1. Metoda lui Newton……………..….…………24
3.4. Lucrul individual…………………………..………...25

4. Rezolvarea sistemelor de ecuaţii liniare prin metode


iterative..............................................................................28
4.1. Scopul lucrării……………………….…………………28
4.2. Indicaţii metodice ……………………………...……....29
4.3. Considerații teoretice………………….………..……...29
4.3.1. Metoda Jacobi………………….…….…….29
4.3.2. Metoda Gauss – Seidel……………..…..….…30
4.4.Lucrul individual…………………………………….…..31

5. Interpolarea funcţiilor…………..……………….…....34
5.1. Scopul lucrării……………………………..……..…….34
5.2. Indicaţii metodice …………….……………....…….......35
5.3. Considerații teoretice……………………………….…..36
5.3.1. Polinomul de interpolarea al lui Lagrange.....36
5.3.2. Polinomul de interpolare al lui Newton……....37
5.4.Lucrul individual…………….……………….………....38

6. Calculul aproximativ al integralelor …………………..41


6.1. Scopul lucrării…………………………….…….…..…41
4
6.2. Indicaţii metodice …………………..……...…………...42
6.3. Considerații teoretice………………………..………....43
6.3.1. Formula dreptunghiurilor………...…….…..43
6.3.2. Formula trapezelor………………………….44
6.3.3. Formula lui Simpson ………………………46
6.4. Lucrul individual…...…………………………….……46

Bibliografie…………………………………………………..48
Anexe………………………………………………………...51

5
Prefață
Analiza numerică este o ramură importantă a
matematicii, reprezintând una din cele mai puternice mijloace
de soluționare a diverselor probleme. Există un număr foarte
mare de calcule ce trebuie realizate într-un timp foarte scurt,
care implică folosirea metodelor numerice: prognozarea
temperaturii aerului se face cu câteva ore înainte, traiectoria
navelor cosmice trebuie calculată cu câteva minute înainte de
decolare, etc.
Analiza numerică este disciplina care unește toate
ramurile matematicii, soluționând numeric diverse probleme,
prin realizarea programelor de calcul.
Scopul prezentei lucrări este de a oferi un suport
informativ pentru realizarea lucrărilor de laborator la disciplina
”Analiza numerică”, pentru studenții de la specialitățile de
informatică, matematică și informatică. Lucrarea de față poate
fi folosită ca ghid pentru studenții de la specialitățile inginerești
și celor care vor sa-și perfecționeze cunoștințele
despre metodele numerice.
Îndrumarul este structurat în 6 lucrări de laborator.
Fiecare lucrare de laborator este însoțită de indicații metodice,
considerații teoretice, probe pentru lucrul individual și cerințele
de îndeplinire a lor.

6
Lucrarea conține 6 anexe, în care sunt plasate secțiuni de
program în limbajul Turbo Pascal pentru fiecare metodă
descrisă în lucrare. Programele de calcul pot fi ușor modificate
în orice alt limbaj de nivel înalt.

7
1. Rezolvarea aproximativă a ecuaţiilor numerice
Lucrarea de laborator Nr. 1

Cuvinte cheie: funcții, soluții, procedură iterativă,


convergența, metoda dihotomiei, metoda Newton, metoda
coardelor, metoda secantelor, condiții de oprire.

1.1. Scopul lucrării


Se cere de determinat toate soluţiile ecuaţiei neliniare
de forma
f ( x) = 0 (1)
cu exactitatea dată e > 0 , folosind în acest scop 4 procedee de
aproximații succesive, numite și iterative. Funcţia y = f (x)
este definită pe mulțimea numerelor reale şi continuă pe
domeniul ei de definiţie.

1.2. Indicaţii metodice


Lucrarea de laborator constă în 2 etape:
Etapa I. Rezolvarea matematică a problemei formulate.
a. Se determină o aproximație inițială , ca fiind primul
termen al șirului convergent către soluția căutată. Soluția
poate fi suficient de aproape de rădăcina căutată, pentru
aceasta, este suficient să se izoleze rădăcina într-un interval, de
lungime cât mai mică. Intervalul găsit trebuie să conţină o
8
singură soluţie și el poate fi determinat prin una din metodele:
metoda grafică, tabelară, schema lui Horner, grafică etc.
b. Se determină soluţiile ecuației cu exactitatea dată > 0,
utilizând metodele iterative: coardei, dihotemiei, Newton,
secantelor. Aceste metode construiesc, într-un număr finit de
iterații un șir de soluții ce converg la soluţia căutată.
Etapa II. Elaborarea unui program de calcul pentru
metoda indicată şi pentru exemplul dat.
Să se implementeze un program în limbajul de
programare dorit (Pascal, MatLab, C, C++, Java, etc.). Să se
afişeze şi rezultate obţinute în urma implementării
programului. Secțiunile de program ce descriu procesul iterativ
al metodelor sunt în anexa 1.

1.3. Considerații teoretice


1.3.1. Metoda dihotemiei
Metoda înjumătăţirii intervalului sau metoda
dihotemiei, constă în următoarea idee: se construiesc trei şiruri:
{a n }n³0 , {b } n n³0 , {xn }n³0 , astfel încât: f (a n ) × f (bn ) < 0 şi
a n + bn
xn = , n Î N (a 0 º a, b0 º b ) . Intervalul [a n , bn ] este
2
înjumătăţit la fiecare pas. Cele trei şiruri sunt convergente către
aceeaşi limită ξ (rădăcina ecuaţiei) [1, 5, 6, 10].

9
Procedeul continuă până când : bn - a n < e sau / şi

f (x n ) < e . Atunci:

1 b-a
xn - x £ bn - a n = n +1
2 2
şi se ia x = xn .
Această metodă este simplă şi sigură. Viteza de
convergenţă este mica [1, 3, 5, 6].

1.3.2. Metoda lui Newton


Procesul iterativ al acestei metode se construieşte după
formula:
f (xn-1 )
xn = xn-1 - , n = 1,2,...
f ¢(xn-1 )

Unde x 0 este ales iniţial ca fiind soluția inițială și

verifică condiția f (a ) × f (b ) < 0, f ¢(x ) ¹ 0(" ), x Î [a, b] şi f ¢¢( x)

are semn constant în intervalul [a, b ] , şirul construit este


convergent pentru orice x 0 Î [a, b] și satisface inegalitatea

f ¢( x0 ) f ¢¢(x 0 ) > 0 .

Procedeul continuă până când:


f ( xn ) < e .

Se mai pot utiliza şi alte criterii de oprire cum ar fi:


f ( xn )
xn - x £ <e ,
m

10
m = max f ' ( x) ; x Î [ a; b ] .

Din punct de vedere geometric formula Newton


reprezintă înlocuirea graficului funcţiei = ( ) la fiecare

iteraţie cu tangenta, dusă din punctul , ( ) [1, 3, 5,

6].
1.3.3. Metoda secantelor
La metoda lui Newton convergenţa iteraţiilor se va
considera prin alegerea unui parametru în aşa fel ca derivata să
se anuleze în aproximaţia precedentă. Uneori, este suficient să
determinăm numai o valoare aproximativă g = f ¢(x n -1 ) , drept
valoare aproximativă putem lua:
f ( x n -1 + e ) - f ( x n -1 ) f ( xn-1 ) - f ( xn-2 )
gn = - sau g n = -
e xn-1 - xn-2

În ultimul caz obţinem formula iterativă


xn-1 - xn-2
xn = xn-1 - f ( xn-1 )
f ( xn-1 ) - f ( xn-2 )

numită metoda secantelor [2, 3,5,6,9] .


Metoda secantelor converge mai încet decât metoda lui
Newton, însă, efectuînd acelaşi volum de operaţii, prin metoda
secantelor se poate obţine o precizie mai mare, dat fiind că aici
se cere calcularea numai a valorilor funcţiei dar nu şi a
valorilor derivatei.

11
Procesul iterativ se încheie atunci, cînd una din mărimile
xn+1 - xn < e sau f ( xn+1 ) - f ( xn ) < e devine mai mică decît

numărul mic > 0 dinainte dat.


Din punct de vedere geometric această metodă reprezintă
înlocuirea graficului funcţiei = ( ) la fiecare iteraţie cu

graficul secantei, ce trece prin punctele , ( ) și

, ( ) [ 3,5,9, 10].

1.3.4. Metoda coardei


Presupunem că soluţia ξ a ecuaţiei (1) aparţine
segmentului [ , ]. În această metodă aproximaţiile se
determină după formula:
x n-1 f ( x n ) - f ( x n-1 ) x n
x n+1 = ;
f ( x n ) - f ( x n-1 )
unde aproximaţiile iniţiale sunt = , = .
Fiecare aproximaţie se obţine după verificarea următoarei
condiţii:
f ( xn ) × f ( xn-1 ) < 0, n Î N .

Această metodă poate fi privită ca o modificare a metodei


bisecţiei, în sensul că la fiecare pas, graficul funcţiei y= f(x)
este înlocuit nu cu dreapta (coarda) ce uneşte punctele de

12
coordonatele , ( ) , , ( ) , iar punctul xn se

găseşte la intersecţia dreptei cu axa Ox [2, 3,5,9, 10].


1.4. Lucrul individual
Să se determine soluțiile ecuațiilor prin metodele indicate
mai sus, cu eroarea nu mai mică de cât ε=10-3:
4 x 2
1. x + 2 x - 4 = 0, 16. e - x - 4x - 3 = 0,
2. ln(8.5x) - 9.6x + 2 = 0, 17. x 2
10 + x - 5 = 0,
e - x + x 2 - 2 = 0, 3 2
3. 18. x -3.9x +4.23x-1.26=0,
x 2
4. 2 +x - 4 = 0, 3
19. x - 5 x + 1 = 0,
3
5. x + x - 1000 = 0,
20. x = 3 5 - x,
2
6. x + ln x = 0, x +1
21. x = arcsin ,
7. x + 2 x - x - 1 = 0,
3 2
4
8. x 6 - x - 0. 2 = 0, 22. 2 sin x + 1 = x ,
2
x - sin x - 0.3 = 0, 1
9. 23. x= , x ¹ -1,
1 (x +1)2
10. = 2x ,
x 24. x = ( x + 1) 3 ,
11. 2 - x = - x 2 + 2,
25. x = ( x - 2) 4 ,
1
12. x = x +1 , 26. x + 7 = ( x - 1) 4 ,
e
2 27. sin x = ln x ,
13. x ln( x - 1) = 1,
28. sin x = arctgx,
-1 x 3 = sin x,
14. x -1= , 29.
( x - 2) 2
30. x = 2 + 4 x.
2
15. sin(px / 6) - (x -1) = 0,

13
2. Rezolvarea sistemelor de ecuaţii algebrice liniare
Lucrarea de laborator Nr.2

Cuvinte cheie: sisteme de ecuații, soluții, metode


directe, metoda lui Gauss, metoda factorizării, metoda
rădăcinii pătrate, eliminări succesive, pivotare, matrice
superioară.

2.1. Scopul lucrării


Fie sistemul de ecuaţii algebrice liniare
= (1)
Presupunem că matricea =( ), , = 1,2, . . . , a
sistemului este nesingulară ( ≠ 0), de ordinul
(det A ¹ 0), =( , ,…, )- un vector cunoscut, iar –
vector necunoscut. Se cere de rezolvat sistemul dat prin
metode directe, cu exactitatea dată ( = 10 − 10 ).
Metodele directe se caracterizează prin aceea că
descrie algoritmi, care permit să determinăm soluţia exactă
în rezultatul efectuării unui număr finit de operaţii.

2.2. Indicaţii metodice


Lucrarea de laborator constă în 2 etape:
Etapa I. Rezolvarea matematică a problemei formulate.

14
Se determină soluţiile sistemului dat prin una din
metodele ce vor fi descrise mai jos.
Etapa II. Realizarea unui program de calcul pentru
metoda indicată şi pentru exemplul dat
Să se implementeze un program în limbajul de
programare dorit (Pascal, MatLab, C, C++, Java, etc.). Să se
afişeze şi rezultate obţinute în urma implementării
programului. Secțiunile de program ce descriu metodele
directe de rezolvare a sistemelor de ecuații liniare se găsesc
în anexa 2.
2.3. Considerații teoretice
2.3.1. Metoda Gauss
Fie că avem un sistem de ecuaţii liniare:
ìa11 x1 + a12 x2 + ...+ a1n xn = b1 , æ a11 a12 ... a1n b1 ö
ï ç ÷
ïa21 x1 + a22 x2 + ...+ a2n xn = b2 , ça a ... a2n b2 ÷
í cu A1 = ç 21 22
ï.............................................. ... ... ... ... ...÷
ç ÷
ïîan1 x1 + an 2 x2 + ...+ ann xn = bn , ç bn ÷ø
èan1 a2n ... ann

Metoda lui Gauss constă în eliminarea necunoscutelor


din sistem, astfel încât să obţinem un sistem de formă
triunghiulară. Presupunem, că a11 ¹ 0 şi vom numi
elementul aii pivot [2, 3,5,6,10,21].
Metoda constă din două etape:
1. Eliminarea succesivă.

15
Se presupune că ≠ 0 , atunci putem elimina prima
necunoscută din ecuațiile 2,3, . . . , , înmulțind prima
ecuație cu factorii
ai1
mi1 = , i = 2,..., n,
a11
și scăzind-o, respectiv din ecuațiile 2,3, . . . , .
Procedeul continuă până la eliminarea ultimei
necunoscute.
2. Substituţia inversă.
Se rezolvă sistemul triunghiular, obţinându - se soluţia:

ì ( n-1)
bn
ï xn = ( n -1) ,
ïï a nn
í ( n -1) n ( n-1)
- å aij
ï bi
j =i +1
xj
ï xi = ( n -1)
, i = n - 1,...,1.
ïî aii

[2, 3,5,6,10,21].
2.3.2. Metoda factorizării
Având în vedere că rezolvarea sistemelor
triunghiulare este foarte uşoară, se va descompune matricea
pătrată A = (aij )i , j = 1,..., n în produsul a două matrice: L - matrice

inferior triunghiulară şi U - matrice superior triunghiulară.


A = LU . (1)

16
Atunci sistemul dat Ax = b , devine:
(LU )x = b şi L(Ux ) = b ,
deci se poate descompune în două sisteme triunghiulare:
Ly = b şi Ux = y , (2)
a căror rezolvare necesită, în general, mai puţine operaţii
decât aplicarea directă a metodei lui Gauss.
Vom determina mai întâi elementele matricelor şi
, apoi vom rezolva sistemele (2). Dacă notăm
æ l11 0 0 ... 0 ö æu11 u12 u13 ... u1n ö
ç ÷ ç ÷
çl l 0 ... 0 ÷ ç 0 u22 u23 ... u2n ÷
L = ç 21 22 ÷ U =ç ;
.... ... ... ... ... ... ... ... ... ... ÷
ç ÷ ç ÷
çl ÷ ç unn ÷ø
è n1 l n 2 l n3 ...lnn ø è0 0 0 ...

atunci relaţia (1) se scrie :


n min ( i , j )
a ij = å lik u kj = ål ik u kj , i , j = 1,.., n . (3)
k =1 k =1

Pentru determinarea elementelor matricelor ș se


folosesc formulele [2, 3,5,6,10,21]:
k -1
u kj = a kj - å l km u mj , j = k ,..., n ,
m =1

k -1
aik - å lim u mk
lik = m =1
, i = k + 1,..., n .
u kk

17
2.3.3. Metoda Cholesky
Metoda Choelsky sau metoda rădăcinii pătrate se
consideră ca un caz particular al factorizării LU , când
matricea A este simetrică şi pozitiv definită, adică A = AT
şi x t Ax > 0 , pentru orice vector x ¹ 0 . (Dacă matricea A
este pozitiv definită, atunci diagonala principală este
pozitivă).
Putem decide dacă o matrice este pozitiv definită în
două moduri dacă toţi minorii principali sunt strict pozitivi
sau dacă toate valorile proprii sunt strict pozitive.
Cu ipotezele de faţă, se poate demonstra, că matricea
A admite factorizare unică de forma A = R T R , unde R
este o matrice inferior triunghiulară, cu diagonala pozitivă.
Aceasta se numeşte factorizarea lui Cholesky.
Metoda aceasta este asemănătoare cu cea precedentă
doar că matricea sistemului se descompune în două matrice
triunghiulare R- inferior triunghiulare şi R t- transpusa
matricei R [2, 3,5,6,10,21].
Avem următoarea relaţie între matricele A şi RT , R :

18
æ ö
ç a a ... a ÷
ç 11 12 1n ÷
ç a
21
a
22
... a
2n ÷=
ç ... ... ... ... ÷
ç a a ... ann ÷
ç n1 n2 ÷
è ø
æ ö æ ö
ç r11 0 ... 0 ÷ ç r11 r12 ... r1n ÷
ç ÷ ç ÷
ç r12 r22 ... 0 ÷* ç 0 r22 ... r2 n ÷.
ç ... ... ... ... ÷ ç ... ... ... ... ÷
ç ÷ ç ÷
ç r1n r2 n ... rnn ÷ ç 0 0 ... rnn ÷
è ø è ø
Astfel putem obţine două sisteme triunghiulare a
căror rezolvare este asemănătoare cu ceea de la metoda :
( ) = sau ( ) = , notăm = şi obţinem
= [2, 3,5,6,10,21].
Pentru i = k avem
k k -1
akk = å rik2 Þ rkk = a kk - å rik ;
i =1 i
k -1

k
aij - å rki rkj
a kj = å rik rij Þ rkj = a kj , rij = i
.
i =1 rii

19
2.4. Lucrul individual
1. Să se determine soluțiile sistemului de ecuații,
scris sub forma matriceală, utilizând metoda lui Gauss şi
metoda factorizării:

æ1 6 -3 1 ö æ12ö æ 50 -1 -2 -1ö æ 3.8 ö


ç ÷ ç ÷ ç ÷ ç ÷
ç-1 -3 8 2 ÷ ç 5÷ ç -1 50 -1 -1÷ ç 9.2 ÷
1. A=ç ÷;b =ç ÷;2. A = ç ;b = ;
1 1 1 4 12 -2 -1 50 -1÷ ç14.2÷
ç ÷ ç ÷ ç ÷ ç ÷
ç13 -3 -1 ÷ ç
-3ø è 0 ø ÷ ç 50÷ø çè19.4÷ø
è è -1 -1 -1
R:[1,2,1,2] R:[0,1;0,2;0,3;0,4]
æ2 3 -4 1 ö æ-6ö æ10 2 2 1 ö æ 46 ö
ç ÷ ç ÷ ç ÷ ç ÷
ç1 -2 -5 1 ÷ ç-4÷ ç 2 10 1 1 ÷ ç- 29÷
3. A= ç ÷;b = ç ÷;4. A = ç ;b =
5 -3 1 -4 -2 2 1 10 1 ÷ ç 34 ÷
ç ÷ ç ÷ ç ÷ ç ÷
ç10 -1 2 ÷ø çè 12÷ø ç1 1 10÷ø çè -16÷ø
è 2 è 1
R:[1,-1,2,3] R:[5,-4,3,-2]
æ3 7 -1 2 ö æ20ö æ100 5 10 -1ö æ 4.9 ö
ç ÷ ç ÷ ç ÷ ç ÷
ç14 4 5 3 ÷ ç36÷ ç 5 10 -1 2 ÷ ç-51.3÷
5. A= ç ÷;b = ç ÷;6. A=ç ;b = ;
11 5 -4 -1 28 1 1 10 1 ÷ ç 15.2 ÷
ç ÷ ç ÷ ç ÷ ç ÷
ç-1 -2 7 ÷ø çè22÷ø ç1 1 100÷ø çè 7.1 ÷ø
è 1 è 1
R:[2,1,-1,3] R:[0,1; -5;2;0,1]
æ 20 1 -1 3 ö æ 11 ö æ51 -1 1 -1 ö æ18ö
ç ÷ ç ÷ ç ÷ ç ÷
ç2 5 1 1 ÷ ç -3 ÷ ç2 10 - 2 1 ÷ ç35÷
7. A=ç ÷;b = ç ÷ ;8. A= ç ;b = ;
1 1 10 2 16 1 1 40 -10÷ ç77÷
ç ÷ ç ÷ ç ÷ ç ÷
ç-1 10÷ø çè-12÷ø ç10 -10 1 50 ÷ø çè62÷ø
è 1 5 è

20
R:[1,-1,2,-2] R:[4,3,2,1]
æ 50 -10 -20 -10ö æ 40ö æ2 50 1 1 ö æ-47ö
ç ÷ ç ÷ ç ÷ ç ÷
ç-10 40 -10 -10÷ ç-50÷ ç50 2 1 1 ÷ ç 49÷
9. A=ç ;b= ;10. A= ;b = ;
-5 -10 30 -5÷ ç 55÷ ç1 1 50 -1÷ ç 50÷
ç ÷ ç ÷ ç ÷ ç ÷
ç -5 -5 -5 20÷ ç-50÷ ç1 -1 50÷ø çè -1 ÷ø
è ø è ø è 1
R: [1,-1,2,-2] R:[1,-1.1,0]
æ9 1 4 2ö æ13.5ö æ9 1 4 2 ö æ 20ö
ç ÷ ç ÷ ç ÷ ç ÷
ç2 8 1 4÷ ç10.5÷ ç2 8 2 -1÷ ç 28÷
11. A = ç ; b = ;12. A = ;b = ;
1 1 8 1÷ ç 6.5 ÷ ç-1 1 6 1 ÷ ç 20÷
ç ÷ ç ÷ ç ÷ ç ÷
ç4 9÷ø ç 14 ÷ ç6 1 10÷ø çè110÷ø
è 1 1 è ø è 2
R:[1,0,5,0,5,1] R:[-1;5;0,5;11]
æ15 1 -4 -2ö æ 1 ö æ2 0 0 0ö æ 3 ö
ç ÷ ç ÷ ç ÷ ç ÷
ç2 8 1 -3÷ ç63÷ ç1 1,5 0 0÷ ç 4,5 ÷
13. A=ç ÷;b=ç ÷;14. A = ç ;b =
1 1 -10 1 -2 0 -3 0,5 0÷ ç- 6,6÷
ç ÷ ç ÷ ç ÷ ç ÷
ç-2 -1 ÷ ç
-1 6 ø è28ø ÷ ç -2 1÷ø çè 0,8 ÷ø
è è2 1

æ2 -1 10 0ö æ-11ö æ10 -1 2 0ö æ 6 ö
ç ÷ ç ÷ ç ÷ ç ÷
ç0 3 -1 8÷ ç-11÷ ç-1 11 -1 3 ÷ ç 25 ÷
15. A=ç ÷;b =ç ÷;16. A = ç ;b = ;
10 -1 2 0 6 2 -1 10 -1÷ ç-11÷
ç ÷ ç ÷ ç ÷ ç ÷
ç-1 -1 3÷ø çè 25÷ø ç0 -1 8 ÷ø çè-11÷ø
è 11 è 3

æ4 -1 2 0ö æ 0 ö
ç ÷ ç ÷ æ 2 -1 1ö æ -1ö
ç- 2 11 -1 3÷ ç 2 ÷ ç ÷ ç ÷
17. A = ç ; b = ; 18. A = ç 3 3 9÷; b = ç0÷ ;
0 -1 10 0÷ ç 3 ÷ ç ÷ ç4÷
ç ÷ ç ÷ è 3 3 5ø è ø
ç0 -1 ÷
8ø è- 2øç ÷
è 0

21
æ0 2 4 ö æ 0 ö æ 10 -1 0 ö æ9ö
ç ÷ ç ÷ ç ÷ ç ÷
19. A = ç1 -1 -1÷;b = ç 0,375÷ ;20. A = ç -1 10 - 2÷;b = ç7÷
ç1 -1 2 ÷ ç 0 ÷ ç 0 - 2 10 ÷ ç 6÷
è ø è ø è ø è ø
3. Să se aplice metoda lui Cholesky pentru factorizarea
matricelor:
æ4 1 1 1ö æ0,65ö
æ 2 -1 0 ö æ 3 ö ç ÷ ç ÷
ç ÷ ç ÷ ç1 3 -1 1÷ ç0,05÷
1. A = ç -1 2 -1÷ , b = ç - 3 ÷ ;2. A= ç ,b= ç 0 ÷;
ç0 1 2÷ ç 1 ÷ 1 -1 2 0÷
è ø è ø ç ÷ ç ÷
ç1 2÷ø ç 0,5 ÷
è 1 0 è ø
æ4 1 -1 0ö æ 7 ö æ6 2 1 -1ö æ0ö
ç ÷ ç ÷ ç ÷ ç ÷
ç1 3 -1 0÷ ç 8 ÷ ç2 4 1 0÷ ç7÷
3. A= ç ,b = ç - 4 ÷ ; 4. A=ç 1 1 , b =ç ÷ ;
-1 -1 5 2÷ 4 -1÷ -1
ç ÷ ç ÷ ç ÷ ç ÷
ç0 4÷ø ç 6 ÷ ç-1 0 -1 ÷ ç ÷
è 0 2 è ø è 3ø è-2ø
æ10 -1 2 0 ö æ6ö
æ10 -1 0 ö æ 9ö ç ÷ ç ÷
ç ÷ ç ÷ ç-1 11 -1 3 ÷ ç 25 ÷
5. A = ç -1 10 - 2÷;b = ç 7÷ ;6. A= ç -1 ;b = .
ç 0 - 2 10 ÷ ç 6÷ 2 -1 10 0 ÷ ç-11÷
è ø è ø ç ÷ ç ÷
ç0 -1 8 ÷ø çè-11÷ø
è 3

22
3. Rezolvarea sistemelor de ecuaţii algebrice neliniare
Lucrarea de laborator Nr.3

Cuvinte cheie: ecuații neliniare, metoda lui Newton,


matricea lui Jacobi, condiția de oprire, aproximație inițială.

3.1. Scopul lucrării


Se cere de determinat cu exactitatea >0 ( =
10 − 10 ) toate soluţiile sistemului de ecuaţii algebrice
neliniare dat:

ì f1 (x, y ) = 0,
í (x, y ) Î D = [a, b] ´ [c, d ] . (1)
î f 2 ( x, y ) = 0,
Domeniul D se alege astfel încât în interiorul acestuia
să se afle o soluţie ( x, y ) a sistemului (1).
3.2. Indicaţii metodice
Lucrarea de laborator constă în 2 etape:
Etapa I. Rezolvarea matematică a problemei
formulate. Sistemul (1) mai poate fi scris sub forma
vectorială:
( ) = 0. (2)
Unde = , ,…, , = , ,…, . Practic
astfel de sisteme se rezolvă numai prin metode iterative.

23
Aproximaţia iniţială în cazul a două ecuaţii cu două
necunoscute poate fi găsită grafic: în planul ( , ) trasăm
curbele ( , ) = 0 şi ( , )=0 şi determinăm
punctele de intersecţie. Pentru sisteme cu trei şi mai multe
necunoscute metode satisfăcătoare de alegere a aproximaţiei
iniţiale, de care în mare măsură depinde eficacitatea aplicării
metodelor iterative, nu există [3,6,10,12,21].
Etapa II. Elaborarea unui program de calcul pentru
metoda indicată şi pentru exemplul dat.
Să se implementeze un program în limbajul de
programare dorit (Pascal, MatLab, C, C++, Java, etc.). Să se
afişeze şi rezultate obţinute în urma implementării
programului. Secțiunile de program ce descriu procesul
iterativ al metodei lui Newton este în anexa 3.

3.3. Considerații teoretice


3.3.1. Metoda lui Newton
Fie sistemul (1) scris sub forma vectorială:
f (x, y )= 0, f= ( f1 , f 2 ), f : D Ì R 2 ® R 2 şi presupunem că

f Î C 1 ( D ) , atunci matricea lui Jacobi ataşată sistemului va


fi :

24
æ ¶f 1
ç (x, y ) ¶f1 (x, y ) ö÷
¶x ¶y
f ¢(x, y ) = ç ÷,
ç ¶f 2 ¶f 2 ÷
ç ¶x ( x, y ) ¶y ( x, y )÷
è ø
şirul lui Newton pentru sistemul (2) se va scrie:
æ x n +1 ö æ x n ö æ f (x , y ) ö
çç ÷÷ = çç ÷÷ - [ f ¢(x n , y n )]-1 çç 1 n n ÷÷, n Î N
è y n +1 ø è y n ø è f 2 ( x n , y n )ø
unde
æ ¶f 2
ç (x , y ) - ¶f1 ( xn , y n )ö÷
1 ç ¶y n n
[ f ¢( x , y n )]
-1
= ¶y ÷.
D ç ¶f 2 ¶f1
( xn , y n ) - ( xn , y n )÷÷
n

ç-
è ¶x ¶x ø
Determinantul matricei lui Jacobi este
æ ¶f ¶f ¶f ¶f ö
=D çç 1 × 2 - 1 × 2 ÷÷ .
è ¶x ¶y ¶y ¶x ø ( x , y ) n n

Procedeul continuă până când:


max ( x n +1 - x n , y n +1 - y n ) < e , ( e - eroarea prescrisă)

Drept aproximaţie iniţială ( x0 , y 0 ) se alege un punct


arbitrar din domeniul D [1, 10,12,16,21].

3.4. Lucrul individual


Să se determine soluțiile sitemului de ecuații neliniare.
ìsin x - y - 1,32 = 0, ì5x - 6 y + 20 lg x + 16 = 0,
1. í 2. í
îcos y - x + 0,85 = 0. î2 x + y - 10 lg y - 4 = 0.

25
ìsin(x + 1) - y = 0, ìï3x 2 y + y 2 -=
1 0,
3. í 4. í 4
î2 x + cos y = 2. ïîx + xy -= 1 0.

ìsin( x + y ) - 1,5=
x 0, ì15x - 5 y + 20 lg x + 16 = 0,
5. í 2 6. í
î x + y= 1. î12x + y - 10 lg y - 14 = 0.
2

ì15x - 5y - 60lg x - 6 = 0, ì2x - y - 6 lg x - 3 = 0,


7. í 8. í
î4x - 5y - 20lg y - 5 = 0. î15x - 10y - 60lg y - 6 = 0.
ìax 2 - y 2 - 1 = 0,
ï ìcos( x - 1) +=
y 0,8,
9. í xy - y - 3 = 0, 10. í
ïa = 1,2,3. î x - cos=y 2.
î
ìax 3 - y 2 -=1 0, ìx3 + y3 - (6 + a)x +=
3 0,
ï 3 ï 3 3
11. í xy - y -= 4 0, 12. íx - y - (6 + a) y - =
2 0,
ï=
a 1,2,3. ïa= 1,2,3,4,5.
î î

ì x + x 2 - 2 xy = 0,
ìsin( x - y ) - xy= -1, ï
í y - y + 3xz = -0,2,
2
13. í 2 14.
î x - y = 0,75.
2
ï
î z + z + 2 xy = 0,3.
2

ìïx 2 + y 2 = 4, ì x 2 + y 2 = 4,
15. í 16. í
ïî y 2 - x3 = 0. î x - 1 - ln y = 0.

ìïx 2 + y 2 = 9, ì x 2 + y 2 = 9,
17. í 18. í
ïîx - y 2 = 1. î x + y - 1 = 0.

26
ì x 2 + y 2 = 4, ìïx 2 / 4 + y - 1 = 0,
19. í 20. í
î xy = 1. ïîx - y 2 / 8 = 0.

27
4. Rezolvarea sistemelor de ecuaţii liniare prin metode
iterative
Lucrarea de laborator Nr. 4

Cuvinte cheie: metode iterative, metoda Jacobi, metoda


Gauss –Seidel, condiție de oprire, șirul lui Jacobi.

4.1. Scopul lucrării


Se cere de determinat toate soluţiile sistemului de
ecuaţiei
= . (1)
Unde =( ), i,j=1,2,...,n este o matrice regulată de
ordinul ( ¹ 0), =( , ,... )- un vector
cunoscut, iar X –vector necunoscut. Metodele iterative
( )
constau în alegerea unui vector soluţie şi cu ajutorul
unui algoritm de calcul iterativ se determină un şir de soluţii
( ) ( )
aproximative: , , …, X(n), ... astfel încât

X - X (k ) ® 0 pentru k ® ¥ , unde este soluţia exactă a

sistemului. Metodele iterative trunchiază şirul infinit de


operaţii dacă este obţinută precizia dorită, spre deosebire de
metodele de eliminare, care implică un număr finit de
operaţii, bine determinate de mărimea sistemului.

28
Soluţia se căutată cu exactitatea dată ( = 10 −
10 ), folosind în acest scop 2 metode: Jacobi și Gauss-
Seidel.

4.2. Indicaţii metodice


Lucrarea de laborator constă în 2 etape:
Etapa I. Rezolvarea matematică a problemei
formulate.
Se determină soluţiile sistemului dat prin una din
metodele ce vor fi descrise mai jos.
Etapa II. Elaborarea unui program de calcul pentru
metoda indicată şi pentru exemplul dat.
Să se implementeze un program în limbajul de
programare dorit (Pascal, MatLab, C, C++, Java, etc.). Să se
afişeze şi rezultate obţinute în urma implementării
programului. Secțiunile de program care descriu metodele
iterative de rezolvare a sistemelor de ecuații liniare sunt în
anexa 4.

4.3.Considerații teoretice
4.3.1. Metoda Jacobi
Vom scrie sistemul (1) sub forma echivalentă:
x = Bx + c , unde B = (bij )1£i , j £n , bij Î R, c Î R n ,

29
apoi cu ajutorul acestui sistemului construim şirul iterativ:
x ( k +1) = Bx (k ) + c, k Î N .

În cazul convergenţei: lim x (k ) = x , limita x este soluţia


k ®¥

sistemului (se porneşte cu un vector arbitrar x (0 ) Î R n ).


O condiţie suficientă de convergenţă a şirului este :
B = b < 1.

Procedeul continuă până când:


b
x (k ) - x ( k -1) < e (cu eroarea dată).
1- b

Șirul lui Jacobi se determină astfel:


n
æ a ij ö (k ) bi
xi(k -1) = å çç - a
j =1 è
÷÷ x j + , i = 1, 2,..., n, k Î N
ii ø a ii
j ¹i

drept aproximaţie iniţială se alege deseori x (0 ) = 0 [1, 10,12,


16, 21].

4.3.2. Metoda Gauss – Seidel


Este o metodă modificată a metodei lui Jacobi, cu
scopul creşterii vitezei de convergenţă şi reducerii memorie
necesare calculatorului. Ideea de bază a metodei constă în
utilizarea calculul necunoscutei xi de la pasul (k + 1) a

valorilor necunoscutelor deja calculate anterior la acelaşi


pas: x1( k +1) , x2(k +1) ,..., xi(-k1+1) .

30
Obţinem şirul lui Gauss –Seidel:

k +1) i -1 æç
aij ö n æ aij ö (k )
x
( = å - ÷ x (k +1) + å ç- ÷x +
bi
,
i j =1ç ÷ j j =i +1 ç a ÷ j
è aii ø è ii ø aii

i = 1,2,..., n, k Î N .
Spre deosebire de metoda lui Jacobi, în acest caz
pentru fiecare necunoscută xi trebuie memorată doar o
singură aproximaţie şi nu două [1, 6, 16, 10] .
Condiți de oprire este:
x ( k ) - x (k -1) = max x i( k ) - x i(k -1) < e .
¥ 1£ i £ n

4.4. Lucrul individual


1. Să se determine soluțiile sistemului de ecuații, scris
sub forma matriceală, utilizând metoda lui Gauss- Seidel şi
metoda Jacobi, cu eroarea nu mai mică de cât = 10 :
æ1 6 -3 1 ö æ12ö æ 50 -1 -2 -1ö æ 3.8 ö
ç ÷ ç ÷ ç ÷ ç ÷
ç-1 -3 8 2 ÷ ç 5÷ ç -1 50 -1 -1÷ ç 9.2 ÷
1. A=ç ÷;b=ç ÷; 2. A = ç ;b = ;
1 1 1 4 12 -2 -1 50 -1÷ ç14.2÷
ç ÷ ç ÷ ç ÷ ç ÷
ç13 -3 -1 ÷ ç
-3ø è 0 ø÷ ç 50÷ø çè19.4÷ø
è è -1 -1 -1
R:[1,2,1,2] R:[0,1;0,2;0,3;0,4]
æ2 3 -4 1 ö æ-6ö æ10 2 2 1 ö æ 46 ö
ç ÷ ç ÷ ç ÷ ç ÷
ç 1 -2 -5 1 ÷ ç-4÷ ç 2 10 1 1 ÷ ç- 29÷
3. A=ç ÷;b=ç ÷; 4. A = ç ;b =
5 -3 1 -4 -2 2 1 10 1 ÷ ç 34 ÷
ç ÷ ç ÷ ç ÷ ç ÷
ç10 2 -1 2 ÷ø çè12÷ø ç1 1 10÷ø çè -16÷ø
è è 1

31
R:[1,-1,2,3] R:[5,-4,3,-2]
æ3 7 -1 2 ö æ20ö æ100 5 10 -1ö æ 4.9 ö
ç ÷ ç ÷ ç ÷ ç ÷
ç14 4 5 3 ÷ ç36÷ ç5 10 -1 2 ÷ ç-51.3÷
5. A=ç ;b = ;6. A = ;b =
11 5 -4 -1÷ ç28÷ ç1 1 10 1 ÷ ç 15.2 ÷
ç ÷ ç ÷ ç ÷ ç ÷
ç-1 -2 7 ÷ø çè22÷ø ç1 100÷ø çè 7.1 ÷ø
è 1 è 1 1
R:[2,1,-1,3] R:[0,1; -5;2;0,1]
æ 20 1 -1 3 ö æ 11 ö æ51 -1 1 -1 ö æ18ö
ç ÷ ç ÷ ç ÷ ç ÷
ç2 5 1 1 ÷ ç -3 ÷ ç2 10 - 2 1 ÷ ç35÷
7. A = ç ; b = ;8. A = ;b =
1 1 10 2 ÷ ç 16 ÷ ç1 1 40 -10÷ ç77÷
ç ÷ ç ÷ ç ÷ ç ÷
ç-1 10÷ø çè-12÷ø ç10 -10 1 50 ÷ø çè62÷ø
è 1 5 è
R:[1,-1,2,-2] R:[4,3,2,1]
æ 50 -10 -20 -10ö æ 40ö æ 2 50 1 1 ö æ-47ö
ç ÷ ç ÷ ç ÷ ç ÷
ç-10 40 -10 -10÷ ç-50÷ ç50 2 1 1 ÷ ç 49÷
9. A=ç ÷;b=ç ÷; 10. A=ç ;b= ;
-5 -10 30 -5 55 1 1 50 -1÷ ç 50÷
ç ÷ ç ÷ ç ÷ ç ÷
ç -5 -5 -5 20÷ ç-50÷ ç 1 1 -1 50÷ø çè -1 ÷ø
è ø è ø è
R: [1,-1,2,-2] R:[1,-1.1,0]
æ9 1 4 2ö æ13.5ö æ9 1 4 2ö æ 20 ö
ç ÷ ç ÷ ç ÷ ç ÷
ç2 8 1 4÷ ç10.5÷ ç2 8 2 -1÷ ç 28 ÷
11. A=ç ÷;b =ç ÷; 12. A = ç ÷;b = ç ÷ ;
1 1 8 1 6.5 -1 1 6 1 20
ç ÷ ç ÷ ç ÷ ç ÷
ç4 ÷ ç ÷ ç ÷ ç ÷
è 1 1 9ø è 14 ø è6 1 2 10ø è110ø
R:[1,0,5,0,5,1] R:[-1;5;0,5;11]

32
æ 15 1 -4 -2ö æ 1 ö æ2 0 0 0ö æ 3 ö
ç ÷ ç ÷ ç ÷ ç ÷
ç2 8 1 -3÷ ç 63÷ ç1 1,5 0 0÷ ç 4,5 ÷
13. A= ç ;b = ; 14. A= ;b =
1 1 -10 1 ÷ ç-2÷ ç0 -3 0,5 0÷ ç-6,6÷
ç ÷ ç ÷ ç ÷ ç ÷
ç-2 -1 -1 6 ÷ø çè 28÷ø ç2 -2 1÷ø çè 0,8 ÷ø
è è 1
R:[1,10,2,7]
æ2 -1 10 0ö æ-11ö æ10 -1 2 0 ö æ6ö
ç ÷ ç ÷ ç ÷ ç ÷
ç0 3 -1 8÷ ç-11÷ ç-1 11 -1 3 ÷ ç 25÷
15. A=ç ÷;b =ç ÷; 16. A=ç -1 ;b= ;
10 -1 2 0 6 2 -1 10 0 ÷ ç-11÷
ç ÷ ç ÷ ç ÷ ç ÷
ç-1 -1 ÷ ç ÷ ç 8 ÷ø çè-11÷ø
è 11 3ø è 25ø è 0 3 -1
æ4 -1 2 0ö æ0ö
ç ÷ ç ÷ æ 2 -1 1ö æ -1ö
ç- 2 11 -1 3÷ ç2÷ ç ÷ ç ÷
17. A = ç ÷; b = ç ÷ ;18. A = ç 3 3 9÷;b = ç 0 ÷
0 -1 10 0 3 ç 3 3 5÷ ç4÷
ç ÷ ç ÷ è ø è ø
ç0 -1 ÷ ç ÷
è 0 8ø è - 2ø
æ0 2 4 ö æ 0 ö æ 10 -1 0 ö æ 9ö
ç ÷ ç ÷ ç ÷ ç ÷
19. A = ç1 -1 -1÷;b = ç0,375÷ ;20. A = ç -1 10 - 2÷; b = ç 7÷
ç1 -1 2 ÷ ç 0 ÷ ç 0 - 2 10 ÷ ç 6÷
è ø è ø è ø è ø

33
5. Interpolarea funcţiilor
Lucrarea de laborator Nr.5

Cuvinte cheie: interpolare, noduri echidistante,


polinom de interpolare, aproximarea funcțiilor, polinomul
lui Lagrange, polinomul lui Newton, schema Aitken –
Neville.

5.1. Scopul lucrării


Una dintre cele mai răspândite metode de
aproximare a funcţiilor este metoda interpolării. Fie ca
pentru funcţia f (x ) definită pe un segment [a, b ] nu se
cunosc decât n + 1 valori în n + 1 puncte xi . Notăm valorile

funcţiei prin f ( xi ) . Interpolarea este o metodă de

aproximare, care permite obţinerea unei valori j (x ) destul


de apropiate de valoarea necunoscută f (x ) a funcţiei f în

punctul x Î [a, b], diferit de punctele xi [1, 17].

Există cazuri când funcţia nu este cunoscută efectiv,


ci este dată doar printr-un tabel de valori: x i = y i (de obicei

se consideră: x0 < x1 < ... < x m ) .

34
Diferenţe divizate de ordinul I ale funcţiei f sunt
rapoartele
( )
f x - f (x j )
i
(i ¹ j )
xi - x j

[ ]
şi le vom nota prin f x i , x j . Diferenţa divizată de ordinul 2,

[ ]
notată prin f x i , x j , x k este raportul

f [x , x ] - f [x , x ]
i j
(i ¹ j ¹ k ) .
i k

x -x i k

Şi aşa mai departe până la diferenţe de ord. n

f [x0 , x1 ,..., xn-1 ] - f [x1 , x2 ,..., xn ]


f [x0 , x1 ,..., xn ] = .
x0 - xn

5.2.Indicaţii metodice
Lucrarea de laborator constă în 2 etape:
Etapa I. Rezolvarea matematică a problemei formulate.
Cunoscînd valorile = ( ) ale funcţiei = ( ) în
punctele , = 1,2, . . . , ( ≠ ) să se determine valorile
funcţiei într-un şir de puncte, aproximând funcţia ( ) cu un
polinom algebric prin una din metodele ce vor fi descrise
mai jos.
Etapa II. Elaborarea unui program de calcul pentru
metoda indicată şi pentru exemplul dat.

35
Să se implementeze un program în limbajul de
programare dorit (Pascal, MatLab, C, C++, Java, etc.). Să se
afişeze şi rezultate obţinute în urma implementării
programului. Secțiunile de program care descriu procesul
de interpolare se găsesc în anexa 5.

5.3. Considerații teoretice


5.3.1. Polinomul de interpolare al lui Lagrange
Polinomul lui Lagrange se poate scrie sub forma:

(x - xi )ù
2

w (x ) é
Ln ( x ) = å
n
yi × ×
i=0 ( x - xi ) ê
ë w (x ) û
ú
x = xi

sau

()
Ln x = w x × å
n yi
() ×
1 n
= å Ai ×
w x ()
( )
.
i = 0 w¢ x x - x i =0 x - x
i i i
Această formulă se foloseşte pentru determinarea directă a
polinomului lui Lagrange, mărimile:

Ai =
yi
w¢(xi )
=
yi
(
i = i, n, și v ( x ) = Õ x - xi
n
).
Õ (x - xj ) i=0
n

i
i= 0
j ¹i

Unde Ai sunt coeficienţii polinomului.

Restul Rn ( x) = f ( x ) - Ln ( x ) are forma :

36
f ( n ) (x )
Rn ( x ) = w n ( x) .
n!
Unde w n ( x ) = ( x - x1 )...( x - x n ), x este un punct de

pe segmentul minimal ce conţine nodurile , = 1,2, . . . ,


şi punctul [2,3,6,11,14,17,21] .

5.3.2. Polinomul de interpolare al lui Newton

Polinomul lui Newton, notat Qn ( x ) se scrie:


n n i -1
Qn (x ) = å ciji ( x) =å ci Õ ( x - x j ) ,
i=0 i=0 j=0

denumit polinomul lui Newto n ascendent, sau


i -1
Q n (x ) =
n n

ådy
i=0
i i ( x) = å d i Õ ( x - x n - j ) ,
i=0 j =0

denumit polino mul lui Newton descendent.

Coeficienţii ci şi d i pot fi determinaţi cu ajutorul

aşa numitelor diferenţe divizate, notate:


ci = f [x0 , x1 ,..., xi ], i = 0,1,...., n ,

d i = f [xn-i , xn-i+1 ,..., xn ], i = 0,1,...., n .

Calculul coeficienţilor se poate face în mod recursiv,


aranjând rezultatele (diferenţele divizate) sub forma unui
tablou triunghiular:

37
x0 x1 x2 K x n -1 xn
f [ x0 ] f [ x1 ] f [ x2 ] K f [ x n -1 ] f [xn ]
f [ x 0 , x1 ] f [ x1 , x 2 ] K f [ x n -1 , x n ]
f [ x 0 , x1 , x 2 ] K f [ x n -2 , x n -1 , x n ]
K K K K
f [ x 0 , x1 , x 2 , K , x n ]

Pentru a calcula valorile polinomului lui Lagrange în


diverse puncte se poate folosi schema lui Aitken-Neville.
Astfel:
n
Pn (a ) = w(a ) × å
yi 1
× =
i = 0 w ( i ) (a
¢ x - xi )
n
= w(a )å
yi
,
i = 0 ( xi - x0 )...( xi - xi -1 )(a - xi )(xi - xi*1 )...(xi - xn )

unde v (a ) = (a - x 0 )(a - x1 )(a - x 2 )(a - x3 )


[2,3,6,11,14,17,21].

5.4. Lucrul individual


Pentru lucrarea dată se propune următoarele tipuri de
tabele:
Tabelul 1. Tabela după care se interpolează:
xi x1, . . . ,xn
yi y1, . . . ,yn
xi- nodurile interpolării;
yi- valorile funcţiei ce se interpolează în noduri;

38
Tabelul 2. Tabela interpolării :
zi z1, . . . ,zn
Pi P1, . . . ,Pn
zi-punctele în care se interpolează;
Pi- valorile polinomului de interpolare;
Tabelul 3. Valorile nodurilor, funcției de interpolare
N xi yi zi
1 0;0,11;0,2; 0;0,1;0,199;0,35; 0,1;0,3;0,32;0,4;
0,35;0,3 0,493 0,45; 0,51;
2 0,5;0,55;0,7; 0,5;0,56,0,68; 0,52;0,6;0,65;0,7;0,84;0,
0,8;0,88;0,9 0,77;0,8;0,86 9;
3 1;1,1;1015; 0,95;1,03;1,08; 1,12;1,19;1,2;1,4;1,456;
103;1,5; 1,8;1,32; 1,49;
4 2;2,1;2,15; 1,6;1,65;1,66; 2,05;2,3;2,4;2,6;2,7;
2,21;2,5;2,8 1,68;1,88;1,83 2,9;
5 2;2,1;2,14; 0,84;0,92;0,95; 2,08;2,15;2,3;2,4;2,8
2,51;2,7 1,21;1,35;
6 10;10,1;10,2; 1,66,1,65;1,646; 10,05;10,13;
10,3,10,4 1,639;1,63 10,28;10,36;10,5,
7 3;3,2,3,4,3,6; 1,55;1,68;1,8; 3,1;3,3,3,5;3,7;
3,8;4 1,91;2;2,1, 3,9;4,1;
8 4;4,2;4,4,4,6; 1,76;1,72;1,67; 4,1;4,3,4,5;

39
4,8 1,63;1,59; 4,7;4;9,5

9 0,2;0,4;0,6; 4,1;1,68;0,91; 1;1,2;1,4,1,6;


0,8;1 0,56;0,37 1,8; 1,95
10 1,1;1,3;1,5; 0,3,0,21,0,15; 1;1,2;1,4;1,6;
1,7;1,9 0,11;0,08 1,8;1,95
11 1,1,2;1,4;1,6; 1;0,96,0,887; 1,12;1,25;1,3;
1,8 0,89;0,9 1,45;1,5;1,7
12 15;15,2;15,4; 3,24;3,26;3,29; 15,1;15,25;
15,6;15,8; 3,31;3,34 15,43,15,5;15,9
13 1;2,3;4,5; 2;1;-1;5;0 1,25;1,5;2,5;
3,5;4,5;
14 1,2;3;6; 3,2;-4;5 1,24;1,5;2,5;3,5;
4,5;5,5;
15 1;2;3;4,5; 2;0;0;-5;2 1,5;2,5;3,5;4,5;

16 1,2;3;6; 3;2;-4,5 1,5;2,5;3,5;4,5;

17 1;2;3;6; -2;-1;-22;-37; 1,5;2,5;3,5,4,5;

18 0,1;2;3 -4;3;2;5 0,5,1,5;2,5;2,65;

19 4;6;8;10 1;3;8;20 4,5;5;5,5,7;9,

20 3;5;6;8 2;4;8;11 3,5;4;5,5;6,5;7,

40
6. Calculul aproximativ al integralelor
Lucrarea de laborator Nr.6

Cuvinte cheie: integrală definită, primitiva funcției,


formule de cuadratură, formula trapezului, formula
dreptunghiului, formula lui Simpson.

6.1. Scopul lucrării


Metodele de integrare numerică constau în
aproximarea integralelor definite prin sume finite. Exemplul
cel mai simplu îl constituie sumele Riemann.
Aceste metode sunt indicate în special în următoarele
cazuri:
a) când funcţia nu este dată analitic, ci printr-un tabel
de valori (xi , y i ), i = 0,1,..., n , deci când cunoaştem
valorile funcţiei doar în anumite puncte xi Î [a, b] .
b) în cazul funcţiilor integrabile care nu admit
primitive sau în cazul celor care admit primitive,
dar nu cunoaştem metode analitice de aflare a
acestora.
c) în cazul funcţiilor pentru care calculul primitivelor
este foarte complicat.
Astfel a calcula numeric integrala:

41
I ( f ) = ò f (x ) dx
b

înseamnă a înlocui printr-o sumă de forma:


n
Q n (f ) = å ai f ( xi ), a i Î R, x i Î [a, b ], i = 0,..., n.
i =1

6.2. Indicaţii metodice


Lucrarea de laborator constă în 2 etape:
Etapa I. Rezolvarea matematică a problemei formulate.
Fie funcția ( ), primitiva funcţiei ( ) pe segmentul
[ , ], atunci
b

ò f ( x)dx = F (b) - F (a) .


a

Deci, în acest caz, problema calcului integralei se reduce


la calculul a două valori ale unei funcţii pe care o
cunoaştem. Însă în majoritatea cazurilor de calcul al
integralelor ce apar la rezolvarea problemelor practice,
primitivele funcţiilor de sub semnul integralei nu sunt
funcţii elementare şi, de aceea, e imposibil de folosit
formula de mai sus. Formula indicată nu poate fi aplicată
nici în cazul când funcţia ( ) definită tabelar. Astfel
problema găsirii altor căi de calcul al integralelor capătă o
mare importanţă. Mai jos se vor deduce unele dintre cele
mai frecvente formule de cuadratură după care pot fi

42
calculate prin aproximaţie integralele definite
[1,2,6,7,9,11,14,21]. Ele se pot obţine în rezultatul
substituirii funcţiei de sub semnul integralei printr-un
polinom de interpolare şi aproximarea integralei ( ) cu
integrala polinomului. Aceste formule au următoarea formă
b n

ò f ( x )dx = å Ai f ( xi ) .
a i =1

Unde coeficienţii sunt nişte constante, iar –


puncte pe segmentul [ , ].
Etapa II. Elaborarea unui program de calcul pentru
metoda indicată şi pentru exemplul dat.
Să se implementeze un program în limbajul de
programare dorit (Pascal, MatLab, C, C++, Java, etc.). Să se
afişeze şi rezultate obţinute în urma implementării
programului (Anexa 6).

6.3. Considerații teoretice


6.3.1. Formula dreptunghiurilor
Se consideră în intervalul [a, b], (2 N - 1) puncte
interioare, astfel încât intervalul [ a , b ] să se împartă în 2 N
intervale egale, apoi se aplică formula dreptunghiului pe
fiecare pereche de intervale vecine, deci N intervale duble.

43
b-a
Avem, h = , x j = a + ( j + 1)h, j = -1,0,1,...,2 N - 1 .
2N
(Se notează a = x -1 , b = x 2 N -1 ).
Doar N puncte şi anume: x 2 i (i = 0,..., N - 1) sunt noduri
de interpolare (duble).
Rezultă:
N -1
Q ( f ) = D ( f ) = 2h å f (x 2 i ) .
i= 0

Eroarea totală va fi:

R( f ) =
(b - a )h 2 f ¢¢(x ), x Î (a , b )
6
şi

R( f ) £
(b - a )h 2 sup f ¢¢(x ) < e ,
6 xÎ[ a , b ]

[1,2,6,7,9,11,14,21].
.
6.3.2. Formula trapezelor
Se împarte intervalul [ a , b ] în N părţi egale prin
b-a
punctele: xi = a + ih, i = 0,1,..., N , h= şi pe fiecare
N
interval se aplică formula trapezelor. (Toate punctele
a = x 0 , x1 ,..., x N -1 x N = b sunt noduri de interpolare). Rezultă:

é f (a ) + f (b ) N -1 ù
Q( f ) = T ( f ) = h ê + å f ( xi )ú .
ë 2 i =1 û

44
R( f ) = -
(b - a )h 2 f ¢¢(x ), x Î (a , b ) .
12
Problema care se pune este: cât de mare trebuie să fie
pasul h , deci cît de mare trebuie să-l luăm pe N, astfel încât
să se obţină precizia dorită. Deci impunem condiţia:

R( f ) £
(b - a )h 2 sup f ¢¢(x ) < e
6 xÎ[ a , b ]

Dacă notăm: = sup f ¢¢ (x ) ,


M din rezultă:
xÎ[ a ,b ]

12e 12e
h2 < ; vom considera: 0 < h < = A . Deci:
M (b - a ) M (b - a )

b-a b-a
N= > .
h A

éb - a ù
De regulă, se consideră N = ê ú + 1 sau primul număr
ë A û

éb - a ù
par mai mare decât ê ú.
ë A û
b-a
Cu N astfel determinat, se calculează: h = ,
N
apoi xi (i = 1,2,..., N ) şi în continuare T ( f ) .

Se obţine I ( f ) » T ( f ) cu o eroare mai mică decât


e dat [1,5, 6,7,9,11, 17,21].

45
6.3.3. Formula lui Simpson
Se împarte intervalul [ a , b ] în 2 N intervale egale prin
b-a
punctele: xi = a + ih, i = 0,1,..., 2 N , h= şi se aplică
2N
formula lui Simpson pe fiecare pereche de intervale vecine,
deci pe N intervale duble. ( Toate cele 2 N + 1 , 2 puncte
xi , i = 0,...,2 N sunt noduri de interpolare). Rezultă:

hé N N -1
ù
Q( f ) = S ( f ) = ê f (a ) + f (b ) + 4 å f ( x 2 i -1 ) + 2 å f (x 2 i )ú .
3ë i =1 i =1 û
Eroarea totală va fi

R( f ) = -
(b - a )h 4 f (4 )
(x ), x Î (a, b ) ,
180

R( f ) £
(b - a )h 4 sup f (4 )
(x ) < e .
180 xÎ[a , b ]

În cazurile 2 şi 3 se procedează la fel ca şi pentru


formula trapezelor pentru a determina N optim necesar
pentru a aproxima I ( f ) prin D( f ) sau D( f ) , cu precizia
dorită [1,2,6,7,14,17,21].

6.4. Lucrul individual


Să se determine valoarea integralei:

x2 +1
2 1
sin x
1. ò1 2 + sin x dx ; 11. ò
0
x
dx ;

46
1 2
4 x cos x 2
2. ò0 x 4 + 1 dx ; 12. ò
0
x +1
dx ;

0 p /2

ò e cos( x + 1)dx ; ò cos(2 x + 1) sin 2 xdx ;


x 2 2
3. 13.
1 0

ln( x + 5)
5 5
ln x
4. ò dx ; 14. ò dx ;
2
2 + cos 3 x 1
x
2 4

ò sin x dx ; 15. ò sin( x 4 + 2 x 3 + x 2 )dx ;


2
5.
0 0

2 2

ò sin x 16. ò sin x × e - x dx ;


2
2
6. dx ;
0 0

2 2
cos x
ò e dx ; ò 1+ x
-x 2
7. 17. 2
dx ;
0 0

2 1
sin x 1
8. ò
0 2-x
dx ; 18. ò
0 2+ x
dx ;

2x3 + 1
2 2
sin x
9. ò
0
3
x -1
dx ; 19. ò
1 4 - x2
dx ;

1 2
6 cos x
10. ò
0 4- x 2
dx ; 20. ò
1 x2 -1
dx .

47
Bibliografie

1. Bîclea (Afteni) Diana, Popovici Ilona. Note de curs la


analiza numerica. Cahul: Centrografic, 2010. 239 p.
2. Blaga P., Coman Gh. Analiza numerică, Lucrări de
laborator, Cluj-Napoca, 1994, 55 p.
3. Dinu, M., Lincă G. Algoritmi şi teme speciale de metode
numerice. Bucureşti: Matrix ROM, 2000. 246 p.
4. Mariș Simina, Brăescu Liliana. Metode numerice
probleme de seminar și lucrări de laborator. Timișoara,
2007. 151 p.
(http://web.info.uvt.ro/~braescu/courses/Calcul_numeric
_probleme.pdf)
5. Martin O. Probleme de analiză numerică, Ediția a II-a.
București: Matrix Rom, 1999. 226 p.
6. Paţiuc V., Râbacova G., Secrieru I., Zolotarevschi V.
Metode numerice în probleme diferenţiale, integrale şi
valori proprii (Indicaţii metodice), Chişinău, 2001. 64 p.
7. Piscunov N. S. Calcul diferenţial şi integral, vol. I.
Chişinău: Lumina, 1991. 431 p.
8. Sabah Gh. Cocârlan P. Stănăşilă A. Matematici speciale.
Bucureşti: vol.II, 1983. 223 p.
9. Secrieru I. Probleme şi exemple la analiza numerică.
Chişinău: Ştiinţa, 1985. 205 p.

48
10. Jeffrey R. Chasnov .Introduction to Numerical Methods
Hong Kong University of Scientce and Tehnology
Departament of Mathematics, 2012. 63 p.
(http://www.math.ust.hk/~machas/numerical-
methods.pdf)
11. Walter Gautschi. Numerical Analysis. Birkh ̈ user :
Springer New York Dordrecht Heidelberg London,
2012. 615 стр..
12. Kалиткин Н. Н. Численые методы учеб. пособие – 2-
изд., испровленное СПб. БХВ- Петербург. 2011. 592
стр.
13. Александр Гуржий. Численые методы
математической физики. Киев: 2006. 88 стр.
14. Б.П. Демидовичь, И. А. Марон, Э. З. Шувалова.
Численые методы анализа приближение функции
дифференциальные и интегральные уравнения.
Москва: Наука, 1967. 368 стр.
15. Бате К. Вилсон Е. Численые методы анализа и
методы конечных елементов. Москва: Стройиздат,
1982. 448 стр.
16. Бахвалов Н. С. Численые методы (анализ алгебра
обыкнавеные дифференциальные уравнения).
Москва: Наука, 1975. 631 стр.

49
17. Березин И. С. Жидков Н. П. Методы вычислений.
Москва: Гоcурдарственное издательство физико-
математической литературы, 1962. 635 стр.
18. Бронштеин И. Н. Семеняев К. А. Справочник по
математике для инженеров и учащихся вузов.
Москва: Наука, 1981. 504 стр.
19. Корн Г., Корн Т. Справочник по математике для
научных работников и инженеров. Москва: Наука,
1973. 832 стр.
20. Распопов В. Е. Клунникова М. М. Лекции по курсу
Численые методы. Красноярск, 2007. 189 стр.
21. Шарый C.П.. Курс вычислительных методов.
Новосибирск, 2016. 536 стр.

50
Anexa 1.
1. Program bisectie
procedure bisect(a,b:real; var x:real);
var n:integer;
begin
if abs(f(a))<eps then x:=a
else
if abs(f(b))<eps then x:=b
else
begin
writeln('eroarea eps=',
eps:6:4);
writeln;
writeln('n a(n) b(n)
x(n) f(xn) bn-an');
repeat
x:=(a+b)/2.0;
inc(n);
writeln(n:2, a:10:4,
b:10:4, x:10:4, f(x):10:4,
abs(b-
a):10:4);

51
if f(a)*f(x)
<0 then b:=x
else
a:=x;
until (abs(b-a)<eps)
and (abs(f(x))<eps);
end;
end;
2.Program coardei
procedure coarda(x0,x1:real; var
x:real);
var n:integer;
dx:real;
begin
if abs(f(x0))<eps then x:=x0
else
if abs(f(x1))<eps then x:=x1
else
begin
writeln('eroarea eps=', eps:6:4);
writeln;
writeln('n x(n-1) x(n)
x(n+1) f(x(n+1)) dx');

52
n:=0;
repeat
x:=(x0*f(x1)-
x1*f(x0))/(f(x1)-f(x0));
inc(n);
writeln(n:2, x0:10:4,
x1:10:4);
if f(x0)*f(x) <0 then
begin
dx:=abs(x1-x);
x1:=x;
end
else
begin
dx:=abs(x-x0);
x0:=x;
end;
writeln(x:10:4,f(x):10:4,
dx:10:4);
until (abs(b-a)<eps) and
(abs(f(x))<eps);
end;
end;

53
3.Program Newton
procedure Newton(x0:real; var x:real);
var n:integer;
d:real;
begin
n:=0;
writeln('eroarea eps=',
eps:6:4);
writeln;
writeln('n x(n) f(x(n))
x(n)-x(n-1)');
repeat
x:=x0-f(x0)/df(x0);
d:=abs(x-x0);
inc(n);
writeln (n:2, x:10:4,
f(x):10:4, d:10:4);
x0:=x;
until (d<eps) and
(abs(f(x))<eps);
end;

54
Anexa 2.

1. Metoda Gauss
begin
writeln('----------Metoda GAuss--------
');
write('n=');read(n);
for i:=1 to n do
begin
for j:=1 to n do
begin

write('a[',i:2,',',j:2,']=');read(a[i,j]
);
end;

writeln('b[',i:2,']=');read(a[i,n+1]);
end;
det:=1;
for k:=1 to n-1 do
begin
pivot;
t:=a[k,k];

55
for i:=k+1 to n do
begin
for j:=k+1 to n+1 do
a[i,j]:=a[i,j]-
a[i,k]*a[k,j]/t;
if abs(a[i,j])<eps then
a[i,j]:=0;
a[i,k]:=0;
end;
writeln('k=',k:2);
for i:=1 to n do
begin
for j:=1 to n+1 do
write(a[i,j]:10:4);
writeln;
end;
end;
2. Metoda Factorizării
procedure lu(a:matrix;var
l,u:matrix;n:integer);
var i,j,k,m,p:integer;
s:real;
begin

56
for k:=1 to n do
begin
l[k,k]:=1.0;
for j:=k to n+1 do
begin
s:=a[k,j];
for m:=1 to k-1 do
s:=s-l[k,m]*u[m,j];
u[k,j]:=s;
end;
for i:=k+1 to n do
begin
s:=a[i,k];
for p:=1 to k-1 do
s:=s-
l[i,p]*u[p,k];

l[i,k]:=s/u[k,k];
end;
end;
end;
procedure sisinf(a:matrix; b:vector;
var x:vector; n:integer);

57
var
i,j:integer;
s:real;
begin
for i:=1 to n do
begin
s:=b[i];
for j:=1 to i-1 do
s:=s-a[i,j]*x[j];
x[i]:=s/a[i,i];
end;
end;
procedure sisup(a:matrix; b:vector;
var x: vector; n:integer);
var i,j:integer;
t:real;
begin
for i:=n downto 1 do
begin
t:=b[i];
for j:=i+1 to n do
t:=t-a[i,j]*x[j];
x[i]:=t/a[i,i];

58
end;
end;

3.Metoda factorizării Cholesky


procedure RP(a:matrix;var
l:matrix;n:integer);
var i,j,k,m:integer;
s,t:real;
begin
l[1,1]:=sqrt(a[1,1]);
for i:=2 to n do

l[i,1]:=a[1,i]/l[1,1];
for k:=2 to n do
begin
s:=a[k,k];
for j:=1 to k-1 do
s:=s-l[k,j]*l[k,j];
l[k,k]:=sqrt(s);
for i:=k+1 to n do
begin
t:=a[i,k];

59
for m:=1 to k-1
do
t:= t- l[k,k];
end;end; end;

60
Annexa 3.
repeat
f1:=(x*x)/41;
f2 :=(x*x)-y ;
df1x :=x/2 ;
df1y :=1 ;
df2x :=2*x ;
df2y :=-1 ;
d :=df1x*df2y-df1y*df2x ;
a :=f1*df2y-f2*df1y ;
b :=f2*df1x-f1*df2x
x :=x-(a/d) ;
y :=y-(b/d) ;
dx:=abs(a/d);
dy:=abs(b/d);
if dx<dy then max:=dy
else max:=dx;

writeln(n:2,x:10:4,y:10:4,f1:10:4,f2:10:
4, max:10:4);
writeln;
n:=n;
until(max<eps) or (n=10);

61
writeln(‘solutia
sistemului este :’) ;

write(‘x=’,x :8 :4,’y=’,y :8 :4) ;


if (n=10) then
write(‘numarul de
iteratii egal cu 10’);
readln;
end.

62
Anexa 4.
1. Metoda Gauss-Seidel
begin
s0:=0;
for j:=1 to n do
begin
write (‘a[‘,i:2,’,’,j:2,’]=’);
read(a[i,j]);
if i<>j then
s0:=s0+abs(a[i,j]);
end;
if(abs(a[i,i])<=s0) or (a[i,i]=0)
then
writeln(‘matricea AS nu
este diagonal dominanta’);
end;
for i:=1 to n do
begin
t[i]:=b[i]/a[i,i];
s0:=0;
for j:=1 to n do
begin
s[i,j]:=-a[i,j]/a[i,i];

63
s0:=s0+abs(s[i,j]);
end;
s[i,i]:=0;
b[i]:=s0-1;
end;
2.Metoda Jacobi
begin
s0:=0;
for j:=1 to n do
s0:=s0+s[i,j]*x0[j];
x[i]:=t[i]+s0;
b[i]:=abs(x[i]-x0[i]);
end;
maxim(b,max);
write(k:3);
for i:=1 to n do
begin
write(x[i]:10:5);
x0[i]:=x[i];
end;
write(m*max:10:5); writeln;
until m*max<eps;
end;

64
Anexa 5.
1. Program Newton
procedure Newton (var x,y:vector;n:
integer; var b,t:real;var q: matrix);
var I,j:integer;
begin
for i:=0 to n do
q[I,0]:=y[i];
for i:=1 to n do
for j:=1 to I do
q[I,j]:=(q[I,j-1]-q[i-
1,j-1])/(x[i]-x[i-j]);
end;
begin
write(‘n=’); readln(n);
write(‘t=’); read(t);
for i:=0 to n do
begin
write(‘x[‘,I,’]=’);
readln(x[i]);

write(‘y[‘,I,’]=’);readln(y[i]);
end;

65
Newton (x,y,n,b,t,q);
2. Program Lagrange
procedure Lagrange(var
c,x,y:vector;n: integer; var b,t:real);
var p:real;
I,j:integer;
begin
for i:=0 to n do
begin
p:=1;
for j:=0 to n do
if j<>I then
p:=p*(x[i]-x[j]);
c[i]:=y[i]/p;
end;
b:=0;
for i:=0 to n do
begin
p:=1.0;
for j:=0 to n do
begin
if j<>I then p:=p*(t-x[j]);
end;

66
b:=b+p*c[i];
end;
begin
write(‘n=’); readln(n);
write(‘t=’); read(t);
for i:=0 to n do
begin
write(‘x[‘,I,’]=’);
readln(x[i]);

write(‘y[‘,I,’]=’);readln(y[i]);
end ;

3. Metoda Aitken -Neville


procedure Neville(var x,y:vector;n:
integer; var b,t:real;var q: matrix);
var I,j:integer;
begin
for i:=0 to n do
q[I,0]:=y[i];
for i:=1 to n do
begin
for j:=1 to I do

67
q[I,j]:=((t-x[i-
j])*q[I,j-1]-(t-x[i])*q[i-1,j-1])/(x[i]-
x[i-j]);
b:=q[n,n];
end;
end;

68
Annexa 6.
1. Program pentru metoda dreptunghiurilor
begin
write('a,b=');
read(a,b);
write('n=');
read(n);
h:=(b-a)/(2*n) ;
integrala:=0;
for i:=0 to n-1 do
integrala
:=integrala+2*h*f(a+(2*i+1)*h);

2. Program pentru metoda trapezelor


begin
write('a,b=');
read(a,b);
write('n=');
read(n);
h:=(b-a)/n ;
s:=0;
for i:=1 to n-1 do
s:=s+f(a+i*h);

69
integrala :=h*(0.5*(f(a)+f(b))+s);

3. Program pentru metoda Simpson


begin
write('a,b=');
read(a,b);
write('n=');
read(n);
h:=(b-a)/(2*n) ;
integrala:=f(a)+f(b);
s:=0;
for i:=0 to n do
s:=s+4*f(a+(2*i-1)*h);
integrala :=integrala+s;
s:=0;
for i:=1 to n-1 do
s:=s+2*f(a+2*i*h);
integrala:=(integrala +s) *h/3.

70

S-ar putea să vă placă și