Documente Academic
Documente Profesional
Documente Cultură
Curs Metode Numerice
Curs Metode Numerice
ROMULUS MILITARU
METODE NUMERICE
Note de curs
.................................................
a x + a x + ... + a x = b
n2 2
nn n
n
n1 1
a 21 a 22 ... a 2 n x 2 b 2
=
...
... ... ... M M
a
n1 a n 2 ... a nn x n b n
sub form dezvoltat.
O ultim variant de scriere a unui sistem liniar este:
2
(1)
ij x j
= b i , i = 1, 2, ..., n
j=1
Observaii.
1. Un sistem liniar (1) este consistent dac are cel puin o
soluie i inconsistent dac nu are nici o soluie. Orice sistem liniar
considerat n continuare poate avea soluie unic (compatibil
determinat), nici o soluie (incompatibil) sau o infinitate de soluii
(compatibil nedeterminat) nu exist alte posibiliti. Bineneles c
intereseaz primul caz.
2. Sistemele (1) se pot clasifica i dup vectorul b, n:
a) sisteme omogene dac b = 0. Orice sistem omogen
de forma Ax = 0 este un sistem consistent (deoarece are soluia
x = 0 neinteresant). Un sistem omogen are o soluie nebanal dac
i numai dac det A = 0 (adic A este singular). n aceast situaie
soluia depinde de cel puin un parametru.
b) sisteme neomogene dac b 0. Sistemul (1) este
compatibil determinat pentru () b 0 dac i numai dac sistemul
omogen Ax=0 nu are dect soluia banal (adic A este nesingular).
3. n sistemele obinute din aplicaiile fizice, numerele ce
constituie matricea A i vectorul b sunt afectate de erori inerente
(provenite din msurtori) sau erori de rotunjire (1/7 nu poate fi
reprezentat exact pe nici un calculator electronic care are lungime
fix a cuvntului deoarece reprezentarea lui n binar are o infinitate
de bii). Dac erorile mici n cadrul coeficienilor lui A i b, sau n
procesul de calcul au un efect redus asupra vectorului, soluie, un
astfel de sistem este bine condiionat, iar dac efectul este
considerabil, un astfel de sistem este slab condiionat.
a ( k ) , 1 i k, i j n
ij
( k +1)
a ij = 0, 1 j k, j + 1 i n
(k )
a ij(k) a ik a (k)
kj , k + 1 i, j n
a (kkk )
(2)
b i( k ) , 1
ik
= ( k ) a ik( k ) ( k )
b i ( k ) b k , k + 1 i n
a kk
..................................................
(3)
......................
a (nnn ) x n = b (nn )
sau
A(n)x = b(n)
Observaii:
1. A(n) este o matrice superior triunghiular.
2. Sistemul A(n)x = b(n) este echivalent cu sistemul (1).
Sistemul triunghiular (3) este sistemul cel mai simplu din irul
de transformri; pentru rezolvarea lui se folosete procesul de
eliminare (substituie) invers, descris astfel:
b i( k +1)
b (nn )
x n = ( n )
a nn
n
(4)
(n)
(n)
b
a
x
j
i
ij
j=i +1
x =
, i = n - 1, n - 2, ..., 1
i
a ii( n )
Observaii.
1. Formulele (2) pot fi completate astfel nct sistemul (3)
obinut s aib forma:
(n)
x 1 + a 12
x 2 + ... + a 1( nn ) x n = b1( n )
...........................
x n = b (nn )
0 1 ... 0 x 2 b 2
... ... ... ... M = M
0 0 ... 1 x b ( n )
n n
2
a ij( k )
6
a ij( k +1) =
(de fapt toi primii minori diagonali de fiecare ordin sunt nenuli)
Este valabil urmtoarea:
Teorem. Dac matricea A satisface condiia i), atunci exist
o factorizare LR a lui A, n care matricea L este nesingular.
O factorizare LR a lui A poate fi calculat direct printr-o aanumit procedur compact, n care cele n2 egaliti scalare, din
(5), se rezolv succesiv n raport cu elementele necunoscute lik, i
k i rkj, k j ale matricilor L i respectiv R. Unicitatea procedurii
este asigurat preciznd apriori elementele diagonale ale matricei L
sau elementele diagonale ale matricei R. Din acest punct de vedere,
n practic se utilizeaz dou tipuri de factorizri:
a) Factorizarea Doolittle impune L cu diagonala unitate,
adic lkk = 1, k = 1, 2, ..., n.
b) Factorizarea Crout impune R cu diagonala unitate, adic
rkk = 1, k = 1, 2, ..., n.
Ne vom ocupa de detalierea acestei factorizri, astfel:
l 11
1 r12 ... r1n
1 ... r2 n
l 21 l 22
i R =
Pasul 1. Fie L =
... ... ... ...
... ...
l
l
...
l
1
nn
n1 n 2
Explicitnd egalitatea A = L R, sub forma:
a ij =
min( i , j)
ik rkj
i, j = 1, 2, ..., n
k =1
k 1
l = a l r , 2 k i n
ik
ih
hk
ik
h =1
k 1
h =1
(8)
r2 k
M
rk 1,k
a ik
1
0
M
0
a ik =
k 1
ih rhk
+ l ik ;
h =1
r1k
r2 k
M
rk 1,k
- dac i = k, atunci (li1 li2 ... li,k-1 lii 0 ... 0)
a ik
1
M
0
a ik =
k 1
ih rhk
h =1
r1 j
r2 j
M
rk 1, j
- dac k < j, atunci (lk1 lk2 ... lk,k-1 lkk 0 ... 0)
rkj
0
M
0
a kj =
k 1
kh rhj
h =1
l 21
...
l
n1
l 22
...
l n2
...
...
y1 b1
y2 b2
=
... M M
l nn y n b n
y1 = l
11
k 1
y = b
l kj y j l kk , k = 2,..., n
k
k
j=1
1 ... r2 n x 2 y 2
... ... M M
1 x n y n
10
(9)
x n = y n
x
y
rkj x j , k = n 1, n 2,...,1
k
k
j= k +1
(10)
1
x i( k +1) =
b i a ij x (jk +1) a ij x (jk ) , i = 2, n 1, unde
a ii
j=1
j= i +1
( k +1)
1
(27)
b1 a 1 j x (jk )
=
x 1
a 1i
j= 2
n 1
1
( k +1)
( k +1)
x
b
a
x
=
n
n
nj
j
a nn
j=1
ij
, j = 1, n .
i =1
i j
11
x i( k +1) x i( k ) < , i = 1, n
(k+1)
(28)
(k)
1
( k +1)
(k)
xi
= bi a ijx i , i = 1, n ; x(0) Rn arbitrar
(29)
a ii
j=1
ji
Observaii:
1. Sunt valabile observaiile precedente.
2. Se observ c iteraia nou folosete toate componentele
iteraiei vechi ceea ce face ca formula s fie mai simpl, dar
metoda Jacobi este mai lent convergent dect metoda Seidel-Gauss
n aceleai condiii iniiale (x(0), ).
12
noteaz a1 = a i b1 =
13
x a
y f (a )
=
(2)
b a f ( b ) f (a )
Aproximaia x1 va fi dat de abscisa punctului n care dreapta
taie axa Ox, adic pentru y = 0, relaia (2) se scrie sub forma:
f (a )(b a )
x1 = a
(3)
f ( b ) f (a )
Vom construi din nou o dreapt similar cu (2) folosind un
punct: (x1, f(x1)) i un al doilea punct n funcie de intervalul n care
se afl soluia, (a, x1) sau (x1, b).
Dac f(a) f(x1) < 0 atunci al doilea punct al dreptei va fi
(a, f(a)) i suntem condui la formula general:
f ( x n )( x n a )
x n +1 = x n
(4)
f ( x n ) f (a )
ir descresctor (din construcie) i mrginit, deci convergent.
Dac f(x1) f(b) < 0, al doilea punct va fi (b, f(b)) i formula
iterativ va fi:
14
f ( x n )(b x n )
(5)
f ( b) f ( x n )
obinnd prin construcie un ir cresctor i mrginit.
n ambele cazuri irul dat de (4) sau (5) va avea ca limit
soluia cutat, adic:
x = lim x n
x n +1 = x n
(8)
x(n+1) = x(n) [F (x(n))]-1 F(x(n))
Procesul iterativ definit de (8) poart numele de metoda lui
Newton.
Observaie. n particular, metoda lui Newton, se poate aplica
pentru rezolvarea ecuaiilor de forma:
f(x) = 0
unde f : R R este o funcie derivabil, cu derivata nenul ntr-un
anumit interval care conine o soluie x a acestei ecuaii. irul (8)
devine, n acest caz:
f (x (n ) )
x(n+1) = x(n) ' ( n )
f (x )
i metoda admite urmtoarea interpretare geometric: x(n+1) este
abscisa punctului de intersecie cu axa Ox a tangentei la graficul
funciei f(x) n punctul (x(n), f(x(n)). Din acest motiv, metoda lui
Newton se mai numete i metoda tangentei.
Observaie. Metoda Newton se poate aplica i n cazul
sistemelor neliniare:
f1 ( x 1 , x 2 ,..., x m ) = 0
f 2 ( x 1 , x 2 ,..., x m ) = 0
..............................
f m ( x 1 , x 2 ,..., x m ) = 0
unde F : Rm Rm, cu F = (f1, f2, ..., fm) t. n exemplul dat am
constatat c dac fi au derivate pariale de ordinul I continue, atunci
f ( x )
, matricea iacobian.
exist derivata lui F i F (x) = i
x j
16
3. POLINOM CARACTERISTIC.
VECTORI I VALORI PROPRII
Preliminarii (noiuni generale).
Definiia 1. Dac matricea A Rnxn, atunci polinomul definit
prin:
pA() = det(I A)
(1)
se numete polinomul caracteristic al matricei A.
Precizri:
1. Polinomul pA este un polinom unitar, de grad n, cu
coeficieni reali i ecuaia caracteristic de forma:
pA() = 0 n + c1n-1 + c2n-2 + ...+ cn-1 + cn = 0
(1)
are cel mult n rdcini distincte (reale sau complexe).
2. Dac este o rdcin a lui pA, atunci, din det(I A) = 0,
nseamn c sistemul liniar omogen definit prin
(A I) x = 0 (vectorul nul din Rn)
(2)
are i soluii nebanale.
n continuare vom studia rdcinile lui pA i soluiile nebanale
ale sistemului (2).
Definiia 2. Dac pA este polinomul caracteristic al matricei A,
rdcinile lui pA se numesc valori proprii (sau valori caracteristice)
ale matricei A. Dac este o valoare proprie a lui A i x 0 verific
sistemul (2) atunci x se numete vector propriu (sau vector
caracteristic) al lui A corespunztor valorii proprii .
Observaie. Egalitatea (2) conduce la:
Ax = x
(3)
Definiia 3. Mulimea (A) = { 1, 2, ..., n} se numete
spectrul lui A, iar numrul (A) = max |i| se numete raza
1i n
spectral a lui A.
Consecin. Orice matrice A Rnxn are cel puin un vector
propriu x, mai precis, fiecrei valori proprii i (A) i corespunde
cel puin un vector propriu xi Ker(In A).
17
ii
i =1
2 =
a ii
a
1i < j n ji
a ij
a jj
19
n
(1)
b k k x (k)
y =
k =1
..........
..........
.......
(13)
n
y ( n 1) =
b k nk1 x ( k )
k =1
S notm:
p ( )
= n 1 + q1 j n 2 + ... + q n 1, j , j = 1, 2, ..., n. (14)
qj() = A
j
q j ( j ) 0
i din relaiile de mai sus deducem:
y(n-1) + q1jy(n-2) + ... + qn-1,jy(0) = b1qj(1)x(1) + b2qj(2)x(2) + ... +
+ bjqj(j)x(j) + ... + bnqj(n)x(n) = bjqj(j)x(j)
Dac bj 0, atunci bjqj(j)x(j) este de asemenea un vector
propriu corespunztor valorii proprii j, deci
(16)
y(n-1) + q1jy (n-2) + ... + qn-1,jy (0)
este un vector propriu corespunztor valorii proprii j.
1
A 2 = AB1 ;
c 2 = Tr (A 2 );
B2 = A 2 + c 2 I n
2
(18)
...
...
...
A n = AB n 1 ;
c n = Tr (A n ); B n = A n + c n I n
n
Se demonstreaz uor urmtoarele afirmaii:
21
B n = O n ;
1
1
A = c B n 1 , dac c n 0
n
0
1 0 ... 0
F=
(19)
... ... ... ... ...
0 0 ... 1
0
Proprietatea 2.
(20)
pF() = n f1n-1 f2n-2 fn-1 fn
(deci o matrice cu form normal Frobenius are n prima linie opuii
coeficienilor polinomului su caracteristic).
Observaie. Demonstrarea relaiei (20) se face dezvoltnd
determinantul matricei (I F) dup prima linie.
Metoda lui Danilevski, pentru aflarea polinomului caracteristic
al matricei date, A, const n aducerea matricei A, la forma normal
Frobenius prin procedee de asemnare. Acest lucru se realizeaz n
n-1 etape, la fiecare etap, obinnd cte o linie din matricea F, dat
de (19), de la ultima linie pn la prima.
Astfel:
Etapa 1. Presupunem an,n-1 0 pentru a realiza ultima linie din
matricea F.
Observaie. Cazul an,n-1 = 0 (posibil practic) va fi tratat la
cazuri particulare.
Cu presupunerea an,n-1 0, vom prelucra matricea A astfel:
- mprim elementele coloanei n-1 prin an,n-1
22
a ' ij = a ij a ' i , n 1 a nj , 1 j n , j n 1, 1 i n.
Observaie. Linia n a matricei A se nlocuiete cu ultima linie
din F, adic 0 0 ... 1 0 (vezi formulele (21) pentru i = n).
Observaie. Transformrile (21) sunt echivalente cu
nmulirea la dreapta a matricei A cu matricea:
0
...
0
0
1
1
...
0
0
0
...
...
...
...
Mn-1 = ...
(22)
a n1
a n2
a nn
1
linia n1
...
a n ,n 1
a n ,n 1
a n ,n 1
a n ,n 1
0
0
...
0
1
1 ...
0
0
0
M n11 = ...
(23)
... ...
...
...
a n1 a n 2 ... a n ,n 1 a nn linia n1
0 ...
0
1
0
Deci, matricea M n 11 difer de matricea unitate de ordinul n
doar n linia n-1 care este ultima linie din matricea A.
Cu toate aceste precizri fcute, n prima etap se obine
matricea Cn-1 = M n 11 Bn-1, adic Cn-1 = M n 11 A Mn-1, care este
asemenea cu matricea A(A ~ Cn-1).
23
a 'n 1, j = a ni a 'ij , 1 j n
(24)
i =1
...
a ' n 1,n 1
4.
APROXIMAREA
FUNCIILOR
Introducere
lk (x j ) = kj
lk , k =
Aadar
n
lk ( x ) =
j= 0
j k
x xj
xk x j
k = 0, n
(2)
adic lk (x) =
k =0
(3)
j k
27
xn-2
xn-1
xn
dif.div. de ord.0
f(x0) = f0
f(x1) = f1
f(x2) = f2
f(xn-2) = fn-2
f(xn-1) = fn-1
f(xn) = fn
dif.div. de ord.1
f(x0; x1)
f(x1; x2)
f(x2; x3)
f(xn-2; xn-1)
f(xn-1; xn)
ord.2
f(x0; x1; x2)
f(x1; x2; x3)
f(x2; x3; x4)
28
...
ord. n
f(x0; x1; ...;xn)
dij =
d i +1, j1 d i , j1
x j+ i x i
, j = 1, n ; i = 0, n j
i =0
i j
Nn(x) = f(x0) +
f (x
(x x )
0 ;...; x k +1 )
k =0
(12)
j= 0
h2 x x
,
+ f i1 u i1 i i
6 hi
(22)
not
i
u n 1
hn
h
f f
+ u n n = f ' n n n 1 ,
6
3
hn
30
(24)
(25)
f ( x ) g( x )
i
i =1
unde:
f
2
i
i =1
31
(33)
g(x) =
c (x)
i
(34)
i =1
ci
i =1
j=1
k ( x j ) i ( x j ) =
(35)
(36)
k ( x j )f ( x j )
, k = 1, m
(37)
j=1
m
n
n
c i x mj +i 2 = x mj 1f j
i =1 j=1
j=1
32
unde x1, x2, ..., xn sunt punctele n care se cunoate fenomenul fizic a
crui modelare se studiaz.
5. EVALUAREA NUMERIC A INTEGRALELOR
Introducere
Vom studia n continuare metode de evaluare aproximativ a
integralelor definite
f ( x )dx =
c f (x ) + E(),
i
i =0
(1)
unde: ci sunt coeficieni, xi sunt noduri echidistante alctuind o
diviziune a intervalului [a, b] iar E(f) este restul metodei de
aproximare numeric.
Pentru fiecare metod restul (eroarea) este specific, iar
coeficienii ci i nodurile xi se aleg astfel nct restul s fie nul atunci
cnd funcia se nlocuiete cu un polinom de un anumit grad m.
Exist o varietate de metode de aproximare a integralelor
cunoscute i sub numele de formule de cvadratur, clasificarea
acestora fcndu-se n funcie de modul de obinere.
a) Dac pentru obinerea formulei de cvadratur (1) nodurile
echidistante x0, x1, ..., xn sunt fixate i se determin coeficienii ci,
astfel nct E(f) s fie nul pentru orice f polinom cu gradul cel mult
egal cu m, ordinul de exactitate va fi m.
Cteva exemple de metode pe care le vom prezenta n
continuare din cadrul acestei familii sunt: metoda trapezului, metoda
Simpson, metoda lui Newton, cunoscute n general sub denumirea de
formule de tip Newton-Ctes.
33
f ( x )dx = c
f ( x ) + E (f )
i
i =0
de ordinul m.
c) Dac n formula (1) se determin att coeficienii ci ct i
valorile xi iar restul va fi nul pentru orice f polinom de grad maxim
2m obinem formule de cvadratur de tip Gauss avnd ordinul de
exactitate 2m.
Formulele de tip Newton-Ctes vor fi expuse n continuare iar
cele de tip Cebev i Gauss vor fi expuse n capitolul 7.
5.1. Metoda trapezului
34
h
Obtinem: f ( x )dx = f (x 0 ) + 2 f (x i ) + f (x n ) + E T (f ) ,
a
2
i =1
3
h
unde
ET() = [f " (1 ) + ... + f " ( n )] .
12
Cum este continu rezult c () (a , b) astfel nct
f " (1 ) + ... + f " ( n )
() =
i rezult c
n
(b a )3
h3
h2
f " ( )
ET() = nf " () = (b a ) f " () =
12
12
12n 2
Notnd cu M2 = max f " ( x) , obinem:
x[ a , b ]
(b a ) 3 M 2
,
12n 2
deci putem mrgini eroarea n formula trapezului.
| E T ( ) |
36
x i +1 = x i + h;
y = y + hf ;
i
i
i +1
(4)
Neglijarea termenilor de ordin superior n (4) face ca metoda
s fie comod n calcul, dar puin precis, erorile cumulndu-se la
fiecare pas.
Metoda se poate aplica i dac nodurile xi nu sunt echidistante,
avnd la fiecare iteraie alt pas, h n acest caz.
6.1.2. Metoda Euler modificat
x i = x 0 + ih; f i = f ( x i , y i ); x i + 1 = x i + 2 ;
2
y = y + h f ; f = f x , y ; y = y + hf ;
i
i
1
i
1
i+ 1
i + 1 i + 1 i +1
i+
i+
2
2
2
2
2
2
6.1.4. Metoda EulerHeun
yi +1 = yi + f ( xi , yi ) + 3 f xi + h, yi + hf ( xi , yi .
4
3
3
Introducere
Dac metodele de tip Euler prezentate anterior au mai
mult un caracter didactic pentru familiarizarea cititorului cu
problematica, metodele de tip Runge Kutta pe care le vom
expune n continuare pot fi utilizate cu succes n rezolvarea
problemelor concrete din practica inginereasc.
Metodele Runge-Kutta au trei proprieti distincte [30]:
1. Sunt metode directe, adic pentru determinarea aproximrii
soluiei la pasul i+1 avem nevoie de informaiile existente n punctul
precedent xi, yi.
2. Sunt identice cu seriile Taylor pn la termenii hn, unde h
este pasul curent iar n este diferit pentru metode diferite din aceast
familie i definete ordinul metodei.
Metodele de tip Euler pot fi i ele incluse n familia RungeKutta i putem astfel observa c metoda Euler este o metod R-K de
ordinul nti iar metodele Euler-Cauchy i Euler-Heun sunt metode
R-K de ordinul 2.
3. Metodele de tip R-K necesit n procesul de calcul doar
evaluarea funciei din membrul drept n diferite puncte nu i a
derivatelor ei. Aceasta este, alturi de precizia bun a metodelor de
ordin 3, 4, 5 motivul principal al utilizrii lor frecvente n practic.
Oricum i pentru metodele din aceast familie, formulele de
evaluare a erorii pstreaz doar un caracter teoretic neputnd fi
aplicate n practic dect pentru exemple simple cu caracter didactic.
O formul Runge-Kutta de ordinul 2:
38
1
y( x + h ) = y( x ) + (k 1 + 3k 2 )
4
k 1 = hf ( x , y)
k 2 = hf x + 2 h , y + 2 k 1
3
3
k2 = hf x + , y + 1
3
3
2k
2h
k3 = hf x +
,y+ 2
3
3
k2 = hf x + , y + 1
2
2
k
h
k3 = hf x + , y + 2
2
2
k4 = hf(x + h, y + k3)
formula propriu-zis Runge-Kutta i
1
y(x+h) = y(x) + (k1 +3k2 + 3k3 + k4)
8
k1 = hf(x,y)
k
h
k2 = hf x + , y + 1
3
3
39
(10)
k
2h
k3 = hf x +
,y 1 + k2
3
3
k4 = hf(x + h, y + k1 k2 + k3)
formula Kutta-Simpson
Rezolvarea sistemelor de ecuaii difereniale cu metoda
Runge-Kutta
(12)
................................
y = f ( x , y ..., y )
n
1
n
n
i urmrim s determinm soluia care satisface condiiile iniiale:
yi(x0) = yi,0 , i = 1, n
(13)
Presupunnd c dispunem de soluia problemei (12) + (13) la
pasul i: y1,i , ..., yn,i metoda Runge-Kutta de ordinul 4 calculeaz
soluia n pasul i+1 cu formulele:
y1,i+1 = y1,i + y1,i
...........................
(14)
yn,i+1 = yn,i + yn,i
Coreciile: y1,i , y2,i , ... , yn,i care intervin n formulele (14)
se calculeaz cu ajutorul relaiilor:
1
1
1
1
y1,i = k 11 + k 12 + k 13 + k 14 ;
6
3
3
6
....................................................
1
1
1
1
yn,i = k 1n + k n2 + k 3n + k n4 ;
6
3
3
6
iar coeficienii k 11 ,..., k 14 ,..., k 1n ,..., k n4 au urmtoarea form:
k 1j = hf j ( x i , y1,i ...., y n ,i ) , j = 1, n ;
40
kn
k1
h
k 2j = hf j x i + , y1,i + 1 ,..., y n ,i + 1 , j = 1, n ;
2
2
2
kn
k1
h
k 3j = hf j x i + , y1,i + 2 ,..., y n ,i + 2 , j = 1, n ;
2
2
2
k 4j = hf j x i + h , y1,i + k 13 ,..., y n ,i + k 3n , j = 1, n ;
y ( b) =
unde x [a, b] i presupunem c u, v, w, f sunt continue pe [a, b],
u(x) > 0, w(x) < 0 () x[a, b] iar (24)+(25) are soluie unic pe
[a,b].
Fie o diviziune echidistant de pas h a lui [a, b], x0 = a,
xi = a + ih, 0 i n cu xn = b.
Dac n ecuaia (24) facem x = xi, 1 i n 1 i folosim
diferentele finite centrate pentru aproximarea operatorilor diferentiali
avem
y( x i+1 ) y( x i 1 )
y( x i+1 ) 2 y( x i ) + y( x i 1 )
+ v( x i )
+
u(x i )
2
2h
h
+w(xi)y(xi) = f(xi)
y( x 0 ) =
Iar condiiile (25) devin
y( x n ) =
Notnd simplificat ui = u(xi), vi = v(xi), wi = w(xi), fi = f(xi),
yi = y(xi), 0 i n, avem
y0 = , yn = , iar
41
ui
y y i 1
y i+1 2 y i + y i 1
+ v i i +1
+wiyi = fi , 1 i n-1
2
2h
h
sau
2u
v
u i vi
u
(28)
2
y i 1 + w i 2i y i + 2i + i y i +1 = fi ,
2h
2h
h
h
h
42