ROMULUS MILITARU
METODE NUMERICE
APLICAII
1. Metoda Gauss, cu pivotare parial la fiecare etap, pentru rezolvarea sistemelor de ecuaii liniare Prezentarea problemei Se consider sistemul liniar: (1) Ax = t, unde: A Rnxn matricea sistemului (1), t Rn termenul liber al sistemului (1). Ne propunem s determinm, dac este posibil, x Rn, x soluia unic a sistemului (1). Prezentarea metodei Matricea extins, care caracterizeaz sistemul (1), o notm (A t) i elementele ei le notm aij, 1 i n, 1 j n+1, unde ai,n+1 = ti, 1 i n. Metoda Gauss const n prelucrarea matricei (A t) astfel nct, ntr-un numr finit de etape (i anume n-1), matricea A s fie triangularizat superior, adic s obinem matricea:
( n ) (n ) a 11 a12 (n ) 0 a 22 (2) M M 0 0 0 0 L a1,n 1
(n ) (n )
a1,n a 2,n
(n ) (n )
(n )
L a 2,n 1 M
(n )
unde am notat (A| t) cu (A (1) t (1) ) = a ij , 1 i n, 1 j n+1. Observaie. Matricea (2) caracterizeaz un sistem echivalent cu sistemul (1) (deci cu aceeai soluie). k Astfel, presupunnd a (kk) 0 , 1 k n-1, unde k elementul a (kk) se numete pivot, pentru a obine, n final, matricea (2), se aplic formulele:
8
Componentele soluiei sistemului (1) se obin direct, prin substituie invers, pe baza formulelor:
) n n x n = a (nn,n +1 / a (nn) , dac a (nn) 0 , (4) pentru i = n - 1, n - 2, ..., 1, n ( x = a (n ) ( a ijn ) x j / a iin ) . i i , n +1 j= i +1
k Dac ( )1 k n-1 astfel nct a (kk) = 0, atunci pentru a putea aplica formulele (3) se recomand o procedur de pivotare, de exemplu pivotarea parial, care const n: - se caut n coloana k a pivotului, acel element a i(kk,)k ,
n legtur cu procedura de pivotare parial se mai impun urmtoarele observaii: 1) dac a i(kk,)k = 0, atunci sistemul (1) nu are soluie unic; 2) dac a i(kk,)k 0, i ik k, atunci se permut
(interschimb) liniile k i ik n matricea (A (k ) t (k ) ) dup care se continu cu aplicarea formulelor (3) i, n final, (4). Aplicaii 1) Matricea extins asociat sistemului (1) este:
9
2 2 3 1 6 2 3 3 2 1 1 0 0 1 0 1 1 1 0 2 Procedura de pivotare parial conduce la urmtoarele permutri de linii: - la etapa 1: linia 1 linia 2; - la etapa 2: linia 2 linia 3; - la etapa 3: nu se efectueaz permutri.
1 2 Se obine soluia: . 3 1
10
2. Metoda Gauss, cu pivotare total la fiecare etap, pentru rezolvarea sistemelor de ecuaii liniare (cu evaluarea determinantului matricei date iniial) Prezentarea problemei Se consider sistemul liniar: (1) Ax = t, unde: A Rnxn matricea sistemului (1), t Rn termenul liber al sistemului (1). Ne propunem s determinm, dac este posibil, xRn, x soluia unic a sistemului (1). Prezentarea metodei Matricea extins, care caracterizeaz sistemul (1) o notm (A t) i elementele ei le notm aij, 1 i n, 1 j n+1, unde ai,n+1 = ti, 1 i n. Metoda Gauss const n prelucrarea matricei (A t) astfel nct, nt-un numr finit de etape (i anume n-1), matricea A s fie triangularizat superior, adic s obinem matricea:
( n ) (n ) a 11 a 12 (n ) 0 a 22 (2) M M 0 0 0 0
L
a 1,n 1
(n )
(n )
a 1,n a 2,n M
(n ) (n )
(n )
L a 2,n 1 M
(n )
L a n 1,n 1 a n 1,n L
a n,n (1)
(n )
unde am notat (At) cu (A (1) t (1) ) = a ij , 1 i n, 1 j n+1. Observaie. Matricea (2) caracterizeaz un sistem echivalent cu sistemul (1) (deci cu aceeai soluie). k Astfel, presupunnd a (kk) 0 , 1 k n-1, unde elementul k a (kk) se numete pivot, pentru a obine, n final, matricea (2), se aplic formulele:
11
Componentele soluiei sistemului (1) se obin direct, prin substituie invers, pe baza formulelor:
) n n x n = a (nn,n +1 / a (nn) , dac a (nn) 0 , (4) pentru i = n - 1, n - 2, ..., 1, n ( x = a (n ) ( a ijn ) x j / a iin ) . i i , n +1 j= i +1
0 1 2
9 2 6 2
Procedura de pivotare total, la fiecare etap, conduce la urmtoarele permutri de linii i / sau coloane: - la etapa 1: coloana 1 coloana 3; - la etapa 2: linia 2 linia 4, coloana 2 coloana 4; - la etapa 3: linia 3 linia 4, coloana 3 coloana 4.
3 1 Se obine soluia intermediar: i apoi 2 1
13
3. Metoda Gauss, cu pivotare parial la fiecare etap, pentru inversarea matricelor Prezentarea problemei Se consider matricea A Rnxn, adic:
a 11 a A = 21 M a n1 a 12 L a 1n a 22 L a 2 n , aij R. M M M a n 2 L a nn
Ne propunem s determinm, dac este posibil, A-1 (inversa matricei A). Prezentarea metodei
1 dac i = j , I - matricea Fie I = ( ij ) , 1 i, j n, ij = 0 dac i j unitate de ordin n; de asemenea considerm x(k), (k), 1 k n, - coloanele matricei A-1, respectiv ale lui I. Atunci, egalitatea AA-1 = I este echivalent cu: (1) Ax(k) = (k), 1 k n. Observaie. (1) reprezint n sisteme de ecuaii liniare, cu aceeai matrice a coeficienilor, A. Sistemele (1) pot fi rezolvate simultan, fiecare avnd soluia, o coloan a matricei A-1 i termenul liber, coloana corespunztoare a matricei I. Matricea extins asociat formulelor (1) este (A | I) i elementele ei le notm aij, 1 i n, 1 j 2n, unde 1 dac j = n + i (2) a ij = , 1 i n, n + 1 j 2n. 0 dac j n + i Metoda Gauss const n prelucrarea matricei (A | I) astfel nct, n n etape, s se obin matricea extins (I | A-1), adic:
14
1 0 L 0 0 1 L 0 (3) M M M 0 0 L 1
+1) a (2n,n +1
( 1 a 1nn++1) ,
+1 a (2n,n +)2
( 1) a 1,nn++ 2
a n ,n +1
(n +1)
a n ,n + 2
(n +1)
( k a ijk ) / a (kk) , i = k , k j 2n , ( k (4) a ijk +1) = (k ) (k ) a (kj ) a ij a ik (k ) , 1 i n , i k , k j 2n. a kk k Dac ( )1 k n pentru care a (kk) = 0, atunci pentru a
k Astfel, presupunnd a (kk) 0, 1 k n, unde elementul k a (kk) se numete pivot, pentru a obine matricea (3), se aplic formulele:
putea aplica formulele (4) se recomand o procedur de pivotare, de exemplu pivotarea parial, care const n: - se caut n coloana k a pivotului, acel element a i(kk,)k , k ik n, care are proprietatea: (5) a i(kk,)k = max a i(,kk)
k i n
Aplicaie
0 0 Se d matricea A = 1 1 1,1(6 ) 0,1(6 ) -1 A = 0,1(6) 0,5 2 1 0 1 2 1 3 1 0 0 2 1 0, (3) 1, (6 ) 0, (6 ) 0, (6 ) 0, (3) 0, (3) . 0, (3) 0, (6) 0, (6 ) 0 0 0
15
4. Condensarea pivotal pentru calculul determinanilor Prezentarea problemei Se consider matricea A Rnxn i ne propunem s calculm det(A). Prezentarea metodei Iniial, se aplic formula: a11 a12 a 21 a 22 a11 a12 1 (1) det (A) = n 2 a 31 a 32 a11 M a11 a12 a n1 a n 2
a11
a13
L L
unde a11 0 i n continuare se reia formula (1) pentru n 1, n 2, ... pn cnd se calculeaz un determinant de ordinul 2. Observaii 3) dac a11 = 0 i () 2 i n pentru care ai1 0, atunci se permut n A liniile 1 i i, iar det (A) i schimb semnul; 4) dac a11 = 0 i () 2 i n avem ai1 = 0, atunci det (A) = 0.
Aplicaii
4 1 3 1 19 13 3 1 1 19 13 3 3 37 23 3 A= , n = 3, A = ; 1 3 37 23 4 4 40 23 0 4 4 40 0 4 4 40 - pentru n = 3 avem: det = 1619 = 304 i 3 1 19 13 664 428 3 1 3 664 428 3 24 748 428 3 A= , n = 2, A = ; 4 24 748 23 4 24 748 23 0 0 4 4 40 4 4 40 - pentru n = 2 avem: 428 3 1 664 24 486400 428 3 A= , n = 1 i respectiv 4 24 748 23 0 4 4 40 428 3 1 486400 486400 428 3 24 A= . 4 24 748 23 0 4 4 40 Urmeaz det = 486400 / 304 = 1600, deci det (A) = 1600.
17
5. Factorizarea LR a matricelor aplicat la rezolvarea sistemelor de ecuaii liniare Prezentarea problemei Se consider sistemul liniar: (1) Ax= t, unde A Rnxn, t Rn, reprezint matricea, respectiv termenul liber pentru sistemul (1). Ne propunem s determinm, dac este posibil, soluia unic a sistemului (1), x Rn. Prezentarea metodei Definiie. O descompunere de forma: A = LR, unde
(2)
L este o matrice inferior triunghiular, adic lij = 0, 2 j n, 1 i j 1 i R este o matrice superior triunghiular, adic rij = 0, 2 i n, 1 j i 1, se numete factorizare LR a matricei A. Elementele matricelor L i R, care realizeaz factorizarea LR a matricei A, se pot calcula direct din egalitatea (2).
Pentru a asigura unicitatea factorizrii LR trebuie precizate elementele diagonale n matricea L (sau n matricea R). Astfel, dac presupunem:
(3) lkk = 1, 1 k n, atunci procedura de factorizare LR este cunoscut sub numele de metoda Doolittle. Din (2) se obin n2 egaliti: (4)
a ij =
min (i , j )
l
k =1
ik
rkj , 1 i,j n,
rezolvate succesiv n raport cu elementele rkj, k j i lik, i > k. Astfel, innd cont de (3), avem:
18
Ax = t LRx = t Pentru determinarea soluiei x se rezolv succesiv sistemele: L y = t (6) R x = y Sistemul inferior triunghiular Ly = t se rezolv direct (prin substituie direct), obinnd: y = t , 1 1 (7) 2 i n , i 1 y i = t i l ik y k k =1
Sistemul superior triunghiular Rx = y se rezolv direct (prin substituie invers), obinnd:
(8)
19
Aplicaii 1) Matricea extins (A | t) asociat sistemului (1) este: 0 2 1 1 2 1 1 3 -1 9 1 0 1 - 2 6 0 0 - 5 - 7 8 Permutarea liniilor 1 i 2 n matricea de mai sus, deoarece a11 = 0 i a21 0 conduce la: 1 1 3 1 9 0 2 1 1 2 1 0 1 - 2 6 0 0 - 5 - 7 8 Apoi: 1 1 3 1 9 2 1 1 2 0 , pentru k = 2, 1 - 1/2 1 -2 6 0 0 -5 -7 8
1 1 2 0 1 - 1/2 0 0 1 1 2 0 1 - 1/2 0 0 3 1 - 3/2 10/3 1 9 1 2 , pentru k = 3, - 1/2 6 -7 8
20
9 2 , respectiv 4 16/ 3
21
Prezentarea problemei Se consider sistemul Ax = t, A Rnxn tridiagonal (adic pe diagonala principal are elementele ai, 1 i n, deasupra diagonalei principale are elementele bi, 1 i n-1 i sub diagonala principal are alementele ci, 1 i n-1, restul fiind nule) i t Rn. Ne propunem s determinm x Rn soluia unic a sistemului liniar dat. Prezentarea metodei Factorizarea LR pentru rezolvarea sistemului dat presupune dou etape: I. Descompunerea matricei A n produs de dou matrice: A = LR, unde L este inferior triunghiular i R este superior tringhiular avnd urmtoarele elemente: n L - pe diagonala principal toate cele n elemente sunt egale cu 1; - sub diagonala principal se afl elementele li, 1 i n-1, ce trebuie determinate; - restul elementelor sunt nule; n R - pe diagonala principal se afl elementele ri, 1 i n, ce trebuie determinate; - deasupra diagonalei principale se afl elementele si, 1 i n-1, ce trebuie determinate; - restul elementelor sunt nule.
II. Rezolvarea succesiv a sistemelor liniare:
(1) Ly = t (2) Rx = y
22
cu formule directe de calcul. Astfel, parcurgerea etapei I, nseamn formulele: r = a , 1 1 1 i n 1, (3) s i = b i , c li = i , ri r = a l s , i +1 i +1 i i iar parcurgerea etapei a II-a nseamn: y = t 1 , (4) 1 y i = t i l i 1 y i 1 , 2 i n, respectiv yn x n = r , n (5) x = (y i s i x i +1 ) , i = n 1, n 2,...,1. i ri
Aplicaie Se d sistemul liniar tridiagonal:
11 1 = 2 x 1 + 10 x 2 16 13 1 11 x 1 2 x 2 + x 3 = . Se obine soluia: 12 16 12 13 1 x 2 2x 3 = 14 16
23
24
Prezentarea problemei
Se consider sistemul Ax = t, A Rnxn pentadiagonal (adic ai ,1 i n diagonala principal bi ,1 i n-1 prima supradiagonal ci ,1 i n-1 prima subdiagonal di, 1 i n-2 a doua supradiagonal ei ,1 i n-2 a doua subdiagonal n rest elementele nule) i t Rn. Ne propunem s determinm x Rn soluia unic a sistemului liniar dat. Prezentarea metodei
Factorizarea LR pentru rezolvarea sistemului dat presupune dou etape:
I. Descompunerea A = LR, unde L inferior triunghiular i R superior triunghiular cu urmtoarea configuraie: n L n elemente egale cu 1 pe diagonala principal; li, 1 i n-1 prima subdiagonal; mi, 1 i n-2 a doua subdiagonal; (elemente ce trebuie determinate) restul elementelor nule; n R ri, 1 i n diagonala principal; si, 1 i n-1 prima supradiagonal; vi, 1 i n-2 a doua supradiagonal; (elemente ce trebuie determinate) restul elementelor nule; II. Rezolvarea succesiv a sistemelor liniare: (1) Ly = t (2) Rx = y
25
cu formule directe de calcul. Astfel, parcurgerea etapei I, nseamn formulele: r1 = a 1 , s1 = b1 , l 1 = c1 / r1 , r2 = a 2 l 1s1 , 1 i n 2 v i = d i , m i = e i / ri , (3) s i +1 = b i +1 l i v i , l i +1 = (c i +1 m i s i ) / ri +1 , ri + 2 = a i + 2 l i +1s i +1 m i v i . iar, parcurgerea etapei a II-a, nseamn: y1 = t 1 , (4) y 2 = t 2 l 1 y1 , y = t l y m y , 3 i n i i 1 i 1 i2 i2 i respectiv x n = y n / rn , (5) x n 1 = (y n 1 s n 1 x n ) / rn 1 , x = (y s x v x ) / r , i = n 2, n 3,...,1. i i i +1 i i+2 i i
1)
=9 16 x 1 + 8x 2 2 x 3 2 x 1 8x 2 + 2 x 3 + 2 x 4 = 12 . Se obine: x 1 + 8x 2 + x 3 8x 4 = 7 8x 2 16 x 3 + x 4 = 54
26
8. Metoda Jacobi pentru rezolvarea iterativ a sistemelor de ecuaii liniare Prezentarea problemei Fie sistemul liniar (cu soluie unic): (1) Ax = t, A Rnxn matricea sistemului; t Rn termenul liber al sistemului. Ne propunem s determinm soluia unic x Rn. Prezentarea metodei Pentru x(0) Rn aproximaia iniial a soluiei sistemului (1), ales arbitrar (de exemplu vectorul nul), calculm: n ( k +1) (k ) (2) x i = t i a ij x j / a ii , 1 i n, k 0 j=1 j i pn cnd este ndeplinit condiia: (3) max x i(k +1) x i(k ) , unde
1i n
- precizia cu care dorim s obinem soluia ( = 10-p, p 4). Atunci x x(k+1). O condiie suficient pentru obinerea soluiei sistemului (1), cu precizia , este:
(4)
diagonal pe coloane ).
27
Aplicaii
2 1 1) Se dau: A = 0 0 Pentru:
1 4 1 0
0 1 4 1
0 30 0 132 i t = . 1 132 30 2
28
9. Metoda Seidel Gauss pentru rezolvarea iterativ a sistemelor de ecuaii liniare Prezentarea problemei Fie sistemul liniar (cu soluie unic): (1) Ax = t, A Rnxn matricea sistemului; t Rn termenul liber al sistemului. Ne propunem s determinm soluia unic x Rn. Prezentarea metodei Pentru x(0) Rn aproximaia iniial a soluiei sistemului (1), ales arbitrar (practic, vectorul nul), calculm: i 1 n (2) x i(k +1) = t i a ij x (jk +1) a ij x (jk ) / a ii , 1 i n, k 0, j=1 j=i +1 pn cnd este ndeplinit condiia: (3) max x i(k +1) x i(k ) , unde
1i n
precizia cu care dorim s obinem soluia ( = 10-p, p 4). Atunci x x(k+1). O condiie suficient pentru obinerea soluiei sistemului (1), cu precizia , este: (4) a ii > a ij , 1 i n
j=1 j i n
diagonal pe coloane).
29
Aplicaii
2 1 1) Se dau: A = 0 0 Pentru:
1 4 1 0
0 1 4 1
0 0 i t = 1 2
30 132 132 . 30
1,9999885557 26,000005722 -4 ; = 10 it = 10 i x = 25,999997139 2,0000014305 1,9999999888 26,000000006 -7 ; = 10 it = 15 i x = 25,999999997 2,0000000014 2,0000000000 26,000000000 -10 , = 10 it = 20 i x = 26,000000000 2,0000000000 care este soluia exact a sistemului A x = t.
30
10. Metoda Seidel Gauss pentru rezolvarea iterativ a sistemelor liniare cu matrice slab populate Prezentarea problemei n rezolvarea unor astfel de sisteme se folosesc metode iterative, n principiu aceleai ca i pentru sisteme liniare cu matrice pline, diferenele aprnd n modul n care relaiile generale de iteraie se transform ntr-un algoritm de calcul care utilizeaz la maxim memoria calculatorului, evitnd n acelai timp operaiile de nmulire i adunare cu zero.
Prezentarea metodei
Metoda Seidel Gauss pentru rezolvarea sistemului: Ax = t, A Rnxn este matrice slab populat, se bazeaz pe relaiile : x(0) = 0 Rn, (1)
x i(k +1) = t i
j=1
i 1
a ij x (jk +1)
j=i +1
(k ) ij x j
/ a ii , 1 i n, k0,
Precizare. n algoritmul de calcul, pentru matricea sistemului se prevede un numr de locaii de memorie egal cu numrul elementelor nenule din matrice. Aceste elemente nenule trebuie identificate i de aceea vom lucra cu urmtorii vectori (preciznd c n reprezint numrul de ecuaii i necunoscute, iar nn numrul de elemente nenule din matrice): 1) A = (ai), 1 i nn - conine elementele nenule din matricea sistemului. 2) L = (li), 1 i n conine numrul elementelor nenule din fiecare linie.
31
3) C = (ci), 1 i nn conine indicii coloanelor n care sunt elementele nenule din fiecare linie, parcurgnd liniile n ordinea lor cresctoare. Observaei. Cum 1 ci n ci Z.
Precizare. Cu ajutorul vectorilor L i C se stabilesc, far
testri, termenii care intr n formulele (1). 4) T = (ti), 1 i n conine termenul liber 5) X = (xi) 1 i n conine, iniial x(0) din (1). 6) R, reprezint precizia. 7) itmax Z, reprezint numrul maxim de iteraii pentru a obine soluia sistemului cu precizia dorit.
Aplicaie
+ x4 4x1 + x2 x 4x + x 2 3 1 x2 4x3 4x4 x1 x2 + x4 x3 x4 = 875 , + x5 + x6 + x5 + x7 4x5 + x6 + x5 4x6 x5 x6 + x8 + x9 = 25 = 125 , = 50 =0 =0 = 50 =0 + x12 =0 = 50 + x12 =0 4x12 =0
4x7 + x8 + x10 + x7 4x8 + x9 + x11 + x8 4x9 2x7 4x10 + x11 2x8 2x9 + x10 4x11 + x11
a8 = 1; a9 = -4; a10 = 1; (n linia 3) a11 = 1; a12 = -4; a13 = 1; a14 = 1; ( n linia 4) a15 = 1; a16 = 1; a17 = -4; a18 = 1; a19 = 1; (n linia 5) a20 = 1; a21 = 1; a22 = -4; a23 = 1; (n linia 6) a24 = 1; a25 = -4; a26 = 1; a27 = 1; (n linia 7) a28 = 1; a29 = 1; a30 = -4; a31 = 1; a32 = 1 (n linia 8) a33 = 1; a34 = 1; a35 = -4; a36 = 1 (n linia 9) a37 = 2; a38 = -4; a39 = 1; (n linia 10) a40 = 2; a41 = 1; a42 = -4; a43 = 1; (n linia 11) a44 = 2; a45 = 1; a46 = -4; (n linia 12) l1 = 3; l2 = 4; l3 = 3; l4 = 4, l5 = 5; l6 = 4; l7 = 4; l8 = 5; l 9 = 4; l 10 = 3; l 11 = 4; l 12 = 3; c1 = 1; c2 = 2; c3 = 4; (n prima linie) c4 = 1; c5 = 2; c6 = 3; c7 = 5; (n a doua linie) c8 = 2; c9 = 3; c10 = 6; (n a treia linie) c11 = 1; c12 = 4; c13 = 5; c14 = 7 (n a patra linie) c15 = 2; c16 = 4; c17 = 5; c18 = 6; c19 = 8; (n a cincea linie) c20 = 3; c21 = 5; c22 = 6; c23 = 9 (n a asea linie) c24 = 4; c25 = 7; c26 = 8; c27 = 10; (n a aptea linie) c28 = 5; c29 = 7; c30 = 8; c31 = 9; c32 = 11; (n a opta linie) c33 = 6; c34 = 8; c35 = 9; c36 = 12; (n a noua linie) c37 = 7; c38 = 10; c39 = 11; (n a zecea linie) c40 = 8; c41 = 10; c42 = 11; c43 = 12; (n a unsprezecea linie) c44 = 9; c45 = 11; c46 = 12; (n a dousprezecea linie) t1 = -87,5; t2 = -25; t3 = -12,5; t4 = -50; t5 = 0; t6 = 0; t7 = -50; t8 = 0; t9 = 0; t10 = -50; t11 = 0; t12 = 0; xi = 0; 1 i 12.
33
Pentru: 37,499925226 24,999913764 12,499950273 37,499887327 24,999870057 12,499925069 -4 = 10 it = 30 i x = ; 37,499879948 24,999861546 12,499920162 37,499894032 24,999877789 12,499929528
34
11. Metoda Leverrier pentru determinarea coeficienilor polinomului caracteristic Prezentarea problemei Fie A Rnxn . Ne propunem s determinm coeficienii polinomului caracteristic. + (-1)nn (1) pA() = n 1n-1 + 2n-2 + ... + Prezentarea metodei Coeficienii care apar n (1) se obin din relaiile: 1 = s1 , (2) 2 k n, 1 k = (s1 k 1 s 2 k 2 + ... + (1) k s k 11 + (1) k +1 s k ), unde k (3) sk = Tr(Ak), 1 k n.
Aplicaie
0 1 4 Se d A = 1 4 11 . 2 0 4 Se obin: s1 = 0 1 = s1 = 0; s2 = 14 2 = = (s11 s2)/2 = -7; s3 = 18 3 = (s12 s21 + s3)/3 = 6. pA() = 3 12 + 2 3 = 3 7 6.
35
12. Metoda Krylov pentru determinarea coeficienilor polinomului caracteristic Prezentarea problemei Fie matricea ARnxn. Ne propunem s determinm coeficienii polinomului caracteristic. (1) pA() = n + c1n-1 + ... + cn-1 + cn Prezentarea metodei 1) Se alege arbitrar, y(0) Rn, nenul 2) Se obin: (2) y(k) = Ay(k-1), 1 k n. 3) Se rezolv sistemul liniar: c1 (n-1) (n-2) (1) (0) c 2 ... y y ) = y(n) (3) (y y M c n Dac nu are soluie unic, se alege alt y(0) i se reia de la 2). Dac are soluie unic, aceasta reprezint coeficienii polinomului caracteristic pentru matricea dat, deci (1). Observaii: 1. Notm cu B matricea sistemului (3). Ultima coloan a lui B se introduce i calculm apoi fiecare coloan din B, n funcie de succesoarea ei, folosind (2). 2. Dac mai atam o coloan n plus la matricea B, pentru termenul liber al sistemului (3), aceasta se va calcula, folosind (2), cu elementele din prima coloan a matricei. 3. Pentru rezolvarea sistemului (3), apelm o procedur (de exemplu Gauss).
36
Aplicaie
1 Se d: A = 0 1 0
1 2 0 0 3 1 1 0
Obinem: coeficienii polinomului caracteristic al matricei date, sunt: 6 10 1 6. Precizri: 1) Se obine pA() = 463+1026, pentru 1 0 0 (0) (0) 1 alegerea y = . 2) Dac alegem y = , atunci sistemul liniar 1 0 1 1 de forma (3), care se obine (nainte de pasul 5. al algoritmului):
12 6 4 1 24 10 4 1 2 0 0 1 8 4 2 1 22 54 6 16
1 1 2 2
37
13. Metoda Fadeev pentru determinarea coeficienilor polinomului caracteristic Prezentarea problemei Fie A Rnxn. Ne propunem s determinm coeficienii polinomului caracteristic. (1) pA() = n + c1n-1 + ... + cn-1 + cn Prezentarea metodei 1) A1 = A; c1 = -Tr(A1); B1 = c1I + A1; 2) A2 = A B1; c2 = -Tr(A2)/2; B2 = c2I + A2; .................................................................. n) An = A Bn-1; cn = -Tr(An)/n; Bn = cnI + An. Observaii: 1. Bn = On (matrice nul) deci nu se va calcula. 1 2. Dac cn 0 A-1 = Bn-1. cn
Aplicaie
1) Se d: A = 0
1 0 4 1 0 2 2. 3
38
0 6 0 A3 = AB2 = 0 6 0 ; c3 = 6; B3 = 0 0 6 3 2 pA() = 2 5 + 6.
-1
0 0 0 0 0 0 . 0 0 0
1
1 Cum c3 0 A = B 2 = 1 / 3 1 / 3 0 . 6 1/ 6 2 / 3 0
1/ 2
39
14. Metoda Danilevski pentru aducerea unei matrice la forma normal Frobenius
Prezentarea problemei
Fie matricea: A Rnxn i ne propunem s transformm, prin procedee de asemnare, aceast matrice n forma normal Frobenius: f 1 f 2 L f n 1 f n 0 1 0 L 0 0 1 L 0 (1) 0 L L L L L 0 0 L 1 0 Obinem: (2) pA() = n f1n-1 f2n-2 fn-1 fn.
Prezentarea metodei
Se transform matricea A n forma (1) dup n1 etape, la fiecare etap obinnd cte o linie din (1), de la ultima linie pn la prima linie. Astfel, la etapa 1, presupunem an,n-1 0 pentru a obine ultima linie din (1). Cu aceast presupunere, vom prelucra matricea A pe baza relaiilor: a i/,n 1 = a i ,n 1 / a n ,n 1 ,1 i n , (3) / / a ij = a ij a i ,n 1 a nj ,1 i n,1 j n , j n 1, urmate de relaiile: (4)
/ / a n 1, j = a ni a ij ,1 j n. i =1 / Apoi, la etapa 2, presupunem a n 1,n 2 0 pentru a n
obine penultima linie din (1) (ultima linie s-a obinut deja la
40
etapa 1). Cu aceast presupunere, vom prelucra matricea A obinut dup parcurgerea etapei 1, adic dup aplicarea relaiilor (3) i (4), pe baza unor relaii asemntoare, adic: / a i//,n 2 = a i/,n 2 / a n 1,n 2 ,1 i n 1, (3) // / // / a ij = a ij a i ,n 2 a n 1, j ,1 i n 1,1 j n , j n 2, urmate de relaiile: (4)
// / // a n 2, j = a n 1,i a ij ,1 j n. i =1 n
n concluzie, notnd cu k variabila ce numr etapele n metoda Danilevski, avem: k = n, n1, , 2 i ak,k-1 0. Observaie. Dac exist k = n, n1, ..., 2, astfel nct ak,k-1 = 0, atunci suntem ntr-un caz particular.
Aplicaie 0 0 0 2 0 6 7 6 1 0 1 2 1 0 0 0 A= A= 0 1 0 0 0 2 1 1 1 1 3 1 0 0 1 0 coeficienii polinomului caracteristic sunt: 0, -6, 7, -6. Detalii calcule: 0 0 0 2 1 0 1 2 A= ; aux = (1 1 3 -1) 0 2 1 1 1 1 3 1
41
0 2 1/ 3 5 / 3 ; 1/ 3 13/ 3 1 0 0 0 1 0 0 2 6 7 ; 0 0 1 0
42
15. Metoda Danilevski pentru determinarea unui vector propriu corespunztor unei valori proprii
Prezentarea problemei
Fie matricea: A Rnxn i ne propunem determinarea unui vector propriu al matricei pentru o valoare proprie specificat.
Prezentarea metodei
Se transform matricea A n forma normal Frobenius: f 1 f 2 L f n 1 f n 0 1 0 L 0 (1) 0 1 L 0 0 , L L L L L 0 0 L 1 0 folosind relaiile (3), (4), (3), (4) din lucrarea precedent. Notnd cu k, variabila ce numr etapele de transformare a lui A n (1), avem: k = n, n-1, ..., 2 i ak,k-1 0. Observaie. Dac exist k = n, n-1, ..., 2 astfel nct ak,k-1 = 0, atunci suntem ntr-un caz particular (care nu se trateaz n algoritmul care urmeaz). Cum matricea A i forma sa normal Frobenius sunt matrice asemenea, teoretic, la fiecare etap k, obinem o matrice Mk-1 care difer de matricea unitate doar n linia k-1, linie care are urmtoarea componen: a a a a a 1 kk ... kn (2) k1 k 2 ... k ,k 2 a k ,k 1 a k ,k 1 a k ,k 1 a k ,k 1 a k ,k 1 a k ,k 1 Practic, la fiecare etap k, obinem linia k-1 dintr-o matrice M Rn-1 x n, folosind (2). n acest mod, dup parcurgerea celor n-1 etape matricea (1) se poate scrie, teoretic
43
M 1 1 M 1 ...M 1 2 M 11 AM n 1 M n 2 ...M 2 M 1 2 n n
tiind c y Rn este un vector propriu corespunztor unei valori proprii , pentru matricea (1), avem x Rn este un vector propriu corespunztor aceleeai valori proprii , pentru matricea iniial A, calculat teoretic astfel: (3) x = Mn-1 Mn-2 ... M2 M1 y Observaie. Produsele din (3) se fac de la dreapta la stnga, adic: x = Mn-1(Mn-2(...(M2(M1y))...)) Aceasta deoarece, produsul Mi y, modific componenta i din vectorul y.
Aplicaie 0 6 0 0 0 2 1 0 1 0 1 2 Fie A = A = 0 1 0 2 1 1 0 0 1 1 3 1 4 2 pA() = 6 + 7 6. Din pA() = 0 (+3)(2)(2+1) = 1 3 . 2 = 2, 3,4 C i 2 2 3 27 1 2 1 9 (1) ; Pentru 1 = -3 y = = 3 1 1 1
7 0 0 1
6 0 0 0
0, deci 1 = -3,
44
Obtinem: 2/3 2 / 3 2 / 3 0.(6) 9 7/6 7 / 6 1.1(6) (1) y = , 3 3 5/6 0.8(3) 1 1 1 1 respectiv 1 1 1 1 4 1/7 1 / 7 0.(142857) (2) = y 5/7 0.(714285) 2 2 1 1 1 1
45
16. Metoda Bairstow pentru rezolvarea ecuaiilor algebrice Prezentarea problemei Se consider polinomul cu coeficieni reali: Pn(x) = a0xn + a1xn-1 + ... + an-1x + an, i ne propunem determinarea rdcinilor acestui polinom. Prezentarea metodei Metoda Bairstow const n descompunerea lui Pn n factori ptratici (dac n = par) sau n factori ptratici i un factor liniar (dac n = impar). Notm primul factor ptratic cu x2 + px + q (*) Pn(x) = (x2 + px + q)(b0xn-2 + b1xn-3 +... + bn-2) + rx + s . 13 2
restul
, deoarece fcnd produsele n dreapta i s = b n + pb n 1 egalnd cu membrul stng, avem: b 0 = a 0 (1) b1 = a 1 pb 0 b k = a k pb k 1 qb k 2 , 2 k n r = f 1 ( p, q ) Evident , (din (1)) s = f 2 ( p, q ) Vom determina p i q astfel nct, restul mpririi (*) s fie aproximativ nul, adic: f (p, q ) = 0 (2) 1 sistem neliniar f 2 (p, q ) = 0 Rezolvm sistemul (2) cu metoda Newton. Dac p0, q0 R sunt aproximaiile iniiale ale lui p i q atunci:
Notm
r = b n 1
46
f1 (pk , q k ) q f 2 (pk , qk ) q
f 1 (p k , q k ) f (p , q ) , k 0 2 k k
b k+2 ; q b k +1 b k b k+2 bk q (1) = p . q q q Deci dk = bk pdk-1 qdk-2, 0 k n 2, unde d-1 = d-2 = 0. n concluzie, obinem ck = dk, 0 k n 2 sau
c 0 = b 0 (8) c1 = b1 pb 0 c k = b k pc k 1 qc k 2 , 2 k n - 1
nlocuind (6), respectiv (7) n (5) avem: f 1 f 1 = c n 2 ; = c n 3 ; p q f 2 = cn-1 + bn-1 pcn-2 p f 2 = c n 2 pc n 3 q de unde, nlocuind n (4), avem: = c 2 2 c n 1c n 3 + b n 1c n 3 n (4) R = b n c n 3 b n 1c n 2 S = b c b 2 b c n 1 n 1 n 1 n n 2 Astfel, pentru a determina un factor ptratic procedm astfel: alegem aproximrile iniiale p0, q0 determinm b0, b1, ..., bn cu formulele (1) determinm c0, c1, ..., cn-1 cu formulele (8) determinm , R, S cu formulele (4) determinm pk+1, qk+1 cu formulele (3) Ne oprim atunci cnd pk+1, qk+1 verific suficient de bine ecuaiile sistemului (2), adic max { r , s } , unde r = bn-1 i
s = bn + pk+1bn-1.
48
Un alt test de oprire, din (3), max { p k +1 p k , q k +1 q k } adic R +S . Cnd testul de oprire este ndeplinit, ultimele valori calculate pk+1, qk+1 reprezint aproximaii suficient de bune (n funcie de ) pentru coeficienii trinomului x2 + px + q, iar soluiile acestui trinom sunt 2 rdcini reale sau complexe ale ecuaiei (*). Continum aceeai tactic cu polinomul de grad n-2 care apare n dreapta relaiei (*).
Aplicaii 1) P(x) = x4 3x3 + x 3; n = 4, a0 = 1; a1 = -3; a2 = 0; a3 = 1; a4 = -3; p = 2 p0 = 0 x = 1 alegnd , = 10-5 , n 10 iteraii 1 ; q = 3 q 0 = 0,1 x2 = 3 p = 1 p0 = 0 apoi (repet) , = 10-5 , n 2 iteraii q =1 q 0 = 0,1
x 1 = (1 i 3 ) / 2 x 2 = (1 + i 3 ) / 2
49
17. Factorizarea LR pentru obinerea valorilor proprii ale unei matrice Prezentarea problemei Fie A R nn . Ne propunem s determinm valorile proprii ale matricei date: 1, 2,,n. Prezentarea metodei Notm A1 = A; A1 = L1 R1; A2 = R1 L1; A2 = L2 R2; A3 = R2 L2; .a.m.d. n general Ak = Lk Rk; Ak+1 = Rk Lk, k 1. Observaii: 1) Matricele Lk i Rk se obin folosind formulele corespunztoare factorizrii LR Doolittle (vezi lucrarea de laborator nr. 5 formulele (5). 2) Matricele A i Ak+1 sunt asemenea (Ak+1 ~ A); Ak+1 = L-1 A L, unde L = L1 L2 Lk. 3) Ak+1 = R matrice superior triunghiular i i = rii, 1 in. 4) Dac y Rn este un vector propriu corespunztor unei valori proprii , pentru matricea R, atunci x = L y este un vector propriu corespunztor aceleiai valori proprii , pentru matricea A. Aplicaii
50
0 0 0 3 1 1 1 1 1 0 0 1 1 0 0 2 L= ; R= 1 1/ 2 1 0 0 0 3 / 2 1/ 2 0 0 0 0 0 1 0 2 i respectiv 3 1/ 2 1 4 3/ 2 1 1 1 A= 3 / 2 3 / 4 3 / 2 1/ 2 0 0 0 2 La a doua etapa se obine: 0 0 0 3 1 1 4 1/ 2 1 0 0 1/ 4 5/ 4 1/ 4 0 13 / 8 L= ;R= 3 / 8 9 / 26 1 0 0 0 6 / 13 17 / 13 0 0 0 0 1 0 0 2 i respectiv 7 / 13 3 1 11 / 4 89 / 52 1/ 4 5/ 4 5 / 16 A= .a.m.d. 9 / 52 27 / 169 6 / 13 17 / 13 0 0 0 2 -4 pentru = 10 , dup 17 iteraii avem: 2.9999864683 1.6180474534 -6.1803392174E-01 2.0000000000 pentru = 10-6, dup 24 iteraii: 2.9999998204 1.6180341685 -6.1803398883E-01 2.0000000000
51
18. Metod iterativ de tip Newton pentru estimarea numeric a valorilor proprii extreme ale unei matrice reale simetrice
Considernd o problem de forma: dat o funcie f : [a; b] R, continu, derivabil, se cere s se determine x* astfel nct: f(x*) = 0 (1) metoda Newton pentru calculul numeric al soluiei exacte x* se poate caracteriza astfel: alegnd x(0) aproximaie iniial pentru x*, se genereaz irul de aproximaii succesive x(k), k = 1, 2, , cu ajutorul formulei: x(k+1) = (x(k)), k = 0, 1, , (2) unde funcia de iteraie (x) este dat prin: f (x) ( x ) = x f ( x ) (3) Fie A Rnxn, matrice simetric. Notm cu PA() polinomul caracteristic al lui A, avnd expresia analitic: (4) PA () = n + 1n 1 + 2 n 2 + ... + n unde j R, j = 0, n ; 0 = 1
Funcia de iteraie = (x), n cazul polinomului caracteristic PA(), pentru = (k), unde (k) nu este una din valorile proprii ale lui A este dat de: det (( k ) I n A ) (k) (k) (5) ( ) = n (k) det ( I n A )jj
j=1
unde In reprezint matricea identitate de ord. n, iar Ajj reprezint matricea obinut din A prin eliminarea liniei j i coloanei j.
52
53
19. Aproximarea funciilor prin interpolare Lagrange Prezentarea problemei Se dau: x1, x2, , xn R, cu xi xj, i j (numite noduri de interpolare); yi = f(xi), 1 i n (valorile cunoscute ale unei funcii n nodurile de interpolare); z R, cu z [x1, xn]. Se cere s se aproximeze f(z), folosind polinomul Lagrange de interpolare pe nodurile date. Prezentarea metodei n n z xi f (z) y k k =1 i =1 x k x i
ik
unde L( x )def y k
k =1 i =1 ik n n
x xi xk xi
Fie
xi yi
-1 -0,3
0 0,2
2 0
3 1,1
4 1,8
S se evalueze f(-2) i f(1), folosind polinomul Lagrange de interpolare pe nodurile date. Se obine: f(-2) nu se poate evalua, deoarece -2 [-1, 4] f(1) - 0,24
54
20. Diferene divizate pe noduri simple Prezentarea problemei Se dau x1, x2, ..., xn R, xi xj, i j; y1, y2, ..., yn valorile cunoscute ale unei funcii f n x1, x2, ..., xn. Diferenele divizate de ordinul zero, ale funciei f sunt:
def
f x i f x i +1 x i x i +1
def
,1in-1
,1in2
f x 1 , x 2 ,..., x n -1 f x 2 , x 3 ,..., x n x1 x n
coloan j, 0 j n-1 s conin diferenele divizate de ordin j caracterizate prin formulele (1) (4). Din (1) di0 = yi, 1 i n Din (2) (4) d ij =
d i, j 1 d i + 1, j 1 xi xi+ j
55
, 1 j n1, 1 i nj.
Aplicaie
Se dau: xi -1 0 2 3 4 yi -0,3 0,2 0 1,1 1,8 Se obin: - diferenele divizate de ordinul 0 sunt 0,3; 0,2; 0; 1,1; 1,8. - diferenele divizate de ordinul 1 sunt: 0,5; -0,1; 1,1; 0,7; - diferenele divizate de ordinul 2 sunt: 0,2; 0,4; -0,2; - diferenele divizate de ordinul 3 sunt: 0,15; - 0,15 i - diferena divizat de ordinul 4 este 0,06.
56
21. Aproximarea funciilor prin interpolare Newton Prezentarea problemei Se dau: x1, x2, , xn R, cu xi xj, i j (numite noduri de interpolare); yi = f(xi), 1 i n (valorile cunoscute ale unei funcii n nodurile de interpolare); z R, cu z [x1, xn]. Se cere s se aproximeze f(z), folosind polinomul Newton de interpolare pe nodurile date. Prezentarea metodei
n k 1 i =1
f (z) f x 1 + f x 1 , x 2 ,..., x k (z x i )
k =2
yj
(x
k i =1 i j
xi )
, 2kn
Aplicaie
xi -1 0 2 3 4 yi -0,3 0,2 0 1,1 1,8 S se evalueze f(-2) i f(1), folosind polinomul Newton de interpolare pe nodurile date. Se obine: f(-2) nu se poate evalua, deoarece -2 [-1, 4]; f(1) - 0,24
57
Fie
Prezentarea problemei
Se dau x1, x2, ..., xn R, xi xj, i j, noduri multiple, cu multiplicitile mi N*, 1 i n i valorile: (*) fi(j), 1 i n, 0 j mi 1 cunoscute n noduri pentru o funcie f i o parte din derivatele sale.
Prezentarea metodei
Considerm s = m k
k =1 n
sau
Diferenele divizate de ordinul zero, ale funciei f sunt: (1) f x i = f i (0 ) , 1 i n Diferene divizate de ordin nti, ale funciei f sunt: (2) f x i , x i = f i (1) /1! , 1 i n (2)f x i , x i +1 =
def def
f x i f x i +1 x i x i +1
,1in-1
sau
58
sau (3) f x i , x i +1 , x i + 2 =
def
f x i , x i +1 f x i +1 , x i + 2 x i x i+2
1 i n 2 . a. m. d. Diferena divizat de ordinul s - 1, a funciei f este: (4) f < x 1 , x 1 ,..., x 1 , x 2 , x 2 ,..., x 2 ,..., x n , x n ,..., x n > = 14243 14243 14243 4 4 4 4
m1 ori m 2 ori m n ori def def
f < x1, x1,...,x1,...,xn , xn ,...,xn , > f < x1, x1,...,x1,...,xn , xn ,...,xn , > 1 2 3 14 43 4 4 42 4 1 2 3 14 43 4 4 42 4
m1ori (mn 1)ori (m11)ori mn ori
f ( p 1) ( x )
(q -1) ori
mi, 1 j n, 1 q mj, i j. Se cere tabloul D al diferenelor divizate care n fiecare coloan j, 0 j s -1 s conin diferenele divizate de ordinul j caracterizate prin formulele (1) (6). Notm elementele tabloului cu dij , 0 j s-1, 1 i s-j.
59
Aplicaie
Se dau: xi fi fi fi -2 1 -4 0 0 -2 2 2 -1 3 0
Deci, m1 = 3; m2 = 2; m3 = 3 s = 8. Se obine tabloul: - diferenele divizate de ordinul 0 sunt: 1; 1; 1; -2; -2; -1; -1; -1; - diferenele divizate de ordinul 1 sunt: -4; -4; -1,5; 2; 0,5; 3; 3; - diferenele divizate de ordinul 2 sunt: 0; 1,25; 1,75; -0,75; 1,25; 0; - diferenele divizate de ordinul 3 sunt: 0,625; 0,25; -0,625; 1; -0,625; - diferenele divizate de ordinul 4 sunt: -0,1875; -0,21875; 0,40625; -0,8125; - diferenele divizate de ordinul 5 sunt: -0,0078125; 0,15625; -0,3046875; - diferenele divizate de ordinul 6 sunt: 0,041015625; 0,115234375; - diferena divizat de ordinul 7 este: -0,0390625.
60
23. Polinom de interpolare Hermite Prezentarea problemei Se dau x1, x2, ..., xn R, xi xj, i j, noduri multiple, cu multiplicitile mi N*, 1 i n i valorile fi(j), 1 i n, 0 j mi-1 cunoscute n noduri pentru o funcie f i o parte din derivatele sale. Se cere determinarea unui polinom H a crui valori n punctele xi s coincid cu valorile funciei f, adic: H(xi) = f(xi), pentru 1 i n i n plus valorile derivatei polinomului H s coincid cu valorile derivatei funciei pn la ordinul mi-1 pentru fiecare valoare xi. Pentru valori z xi, valoarea polinomului H(z) aproximeaz valoarea funciei f(z). Prezentarea metodei Pentru construcia polinomului H propunem formula Hermite. Pentru z [x1, zn], se cere:
H (z ) = f x 1 + f x 1 x 1 (z x 1 ) + ... + f < x 1 , x 1 ,..., x 1 > 14243
m1 ori
(z x 1 )
m1
(z x 2 )m ...(z x n )m 1 ,
2 n
unde diferenele divizate pe noduri multiple sunt elementele tabloului D din algoritmul precedent.
61
24. Aproximarea funciilor prin spline cubic cu derivata a doua nul la extremitile intervalului de aproximare
Prezentarea problemei
Se dau x0, x1, ..., xn R, xi xj, i j, noduri de interpolare; f0, f1, ..., fn R valorile cunoscute n xi, 0 1 n, ale unei funcii f i trebuie s obinem funcia S cu proprietile
S [x
not
i 1 , x i ]
0 i n; S, S, S continue pe [x0,xn].
Prezentarea metodei
Notm hi = xi xi-1, 1 i n i avem: (1) S i (x ) = + f i 1
3 3 2 u i (x x i 1 ) + u i 1 (x i x ) h + fi ui i 6h i 6 2 h x x , 1 i n, x [xi-1, xi] u i 1 i i 6 hi
x x i 1 + hi
unde, am notat S(xi) = ui, 0 i n Avem S(x0) = S(xn) = 0 u0 = un = 0. Pentru a obine spline-ul cubic S, avem nevoie de restriciile sale, Si pe fiecare interval unde: u1, u2, ..., un-1 sunt necunoscute, determinate ca soluie a sistemului: (2)
hi h + h i +1 h f f f f i 1 u i 1 + i u i + i +1 u i +1 = i +1 i i , 6 3 6 h i +1 hi
1 i n-1, cu u0 = un = 0.
62
Matricea sistemului (2) este tridiagonal simetric i are urmtoarele elemente: (3)
a i = (h i + h i +1 )/3, 1 i n 1 - pe diagonala principal b i = h i +1 /6, 1 i n 2 - deasupra diagonalei principale c = h /6, 1 i n 2 - sub diagonala principal i +1 i
iar termenul liber al sistemului (2) are componentele: (4) ti = (fi+1 - fi)/hi+1 (fi fi-1)/hi, 1 i n-1. Pentru rezolvarea sistemului (2), folosim factorizarea LR pentru matrice tridiagonale i nlocuind u1, u2, ..., un-1, astfel obinute, n (1), gsim S. Aplicaie Se d tabelul: xi -1 0 fi 5 1 1 1 2 11
63
25. Aproximarea funciilor prin spline cubic cu prima derivat egal cu prima derivat a funciei la extremitile intervalului de aproximare
Prezentarea problemei
Se dau x0, x1, ..., xn R, xi xj, i j, noduri de interpolare; f0, f1, ..., fn R valorile cunoscute n xi, 0 1 n, ale unei funcii f; f0, fn, valorile f(x0) i f(xn). Trebuie s obinem funcia S cu proprietile S [x ,x ] = Si , i1 i 1 i n este polinom de gradul 3; S(xi) = fi, 0 i n; S(xi) = fi, i = 0, i = n; S, S, S continue pe [x0,xn].
not
Prezentarea metodei
Notm hi = xi xi-1, 1 i n i avem: 3 3 2 u (x x i 1 ) + u i 1 (x i x ) h x x i 1 + fi ui i + (1) Si (x ) = i 6h i 6 hi
2 h x x , 1 i n, x [xi-1, xi], + f i 1 u i 1 i i 6 hi unde, am notat S(xi) = ui, 0 i n. Pentru a obine spline-ul cubic S, avem nevoie de obinerea restriciei sale Si pe fiecare interval unde: u0, u1, ..., un sunt necunoscute, determinate ca soluie a sistemului:
64
(2)
h1 f1 f 0 h1 f0 u 0 + u1 = 3 6 h1 h i + h i+1 h f f f f h i u i + i+1 u i+1 = i+1 i i i1 , 1 i n u i1 + 3 6 h i+1 hi 6 h n hn f n f n1 u n1 + u n = f n 6 3 hn
1. Matricea sistemului (2) este tridiagonal, simetric i are elementele pe diagonala principal, deasupra diagonalei principale i respectiv sub diagonala principal, date de relaiile:
a0 = h1/3,ai = (hi + hi+1)/3,1 i n 1;an = hn/3, (3) bi = hi+1/6, 0 i n 1, c = h /6, 0 i n 1, i i+1 iar termenul liber are componentele:
Aplicaie
Se d tabelul: -1 0 1 2 xi fi -12 2 -6 -36 fi 19 -35 Avem: h1 = h2 = h3 = 1. Se obine sistemul: 2 1 0 0 u 0 30 1 4 1 0 u 1 132 0 1 4 1 u = 132 2 0 0 1 2 u 30 3 cu soluia: u0 = 2, u1 = 26, u2 = 26, u3 = 2.
66
26. Metoda celor mai mici ptrate pentru aproximarea funciilor cazul discret
Prezentarea problemei
Se dau x1, x2, ..., xm R; f1, f2, ..., fm R (reprezint valori cunoscute n xi, 1 i m, pentru o funcie f); w1, w2, ..., wm R+ (reprezint ponderi) i se cere: (1) p 0 (x ) = a k k (x )
k =0 n
elementul de cea mai bun aproximare pentru f, n sensul celor mai mici ptrate, unde: n este dat, iar:
(2)
0 (x ) = 1, () x R k k (x ) = x , () x R, 1 k n
Prezentarea metodei
Notm: 0 (x 1 ) f1 k (x 1 ) ~ f2 ~ 0 (x 2 ) ~ k (x 2 ) (3) f = ; 0 = ; k = , 1 k n. L L L f (x ) (x ) m k m 0 m Pentru u, v Rm, definim produsul scalar: (4) u, v = w k u k v k
k =1 m
Pentru a obine coeficienii a0, a1, ..., an ai lui p0 din (1), se rezolv sistemul:
67
(5)
~ ~ 0 , 0 ~ ~ ,
0 1
~ ~ 1 , 0 ~ ~ ,
1 1
L L L L
L ~ , 0 ~ n
L ~ , 1 ~ n
~ ~ n , 0 a 0 ~ ~ n , 1 a 1 = L L ~ ~ n , n a n
~ f , 0 ~ f , 1 . L ~ f , n
De asemenea, considerm o coloan n plus n matricea B, coloana n+1 care conine termenii liberi ai sistemului (5). Folosind (2), (3), (4), calculm elementele matricei B cu formulele:
m m j b00 = w k ; b0j = b j0 = w k x k , 1 j n k =1 k =1 m i+ j bij = b ji = w k x k , 1 i n, i j n k =1 m m i b0,n+1 = w k f k ; bi,n+1 = w k f k x k , 1 i n k =1 k =1
(6)
Aplicaie
Se d tabelul: xi 1 2 fi 10 5 wi 1 1 4 2 1
68
6 1 1
18 = 34 98
69
Prezentarea problemei
Fiind dat integrala definit:
f (x )dx
a
ne propunem
Prezentarea metodei
Fie [a, b] R i a = x0 < x1 < ... < xn = b, o diviziune a lui [a,b] ba . cu xi = x0 + ih, 0 i n, h = n Metoda trapezului, propune urmtoarea aproximare pentru integrala definit: b n 1 f (x )dx f (a ) + 2 f (x i ) + f (b ) . i =1 a
Aplicaie
I=
0 1
dx x +1
pentru = 10-5 I 0,69314813423, n 9 pai pentru = 10-8 I 0,69314718146, n 14 pai pentru = 10-9 I 0,69314718083, n 15 pai Valoarea exact I = ln2 0,69314718056
70
Prezentarea problemei
Fiind dat integrala definit:
f (x )dx
a
ne propunem
Prezentarea metodei
Fie [a, b] R i a = x0 < x1 < ... < xn = b, o diviziune a lui [a,b] ba . cu xi = x0 + ih, 0 i n, h = n Metoda Simpson, propune urmtoarea aproximare pentru evaluarea integralei: b n 1 n 1 h x + x i +1 f (x )dx f (a ) + 2 f (x i ) + 4 f i + f (b ) . 6 2 i =1 i =0 a
Aplicaie
I=
0 1
dx x +1
pentru = 10-5 I 0,69314765282, n 4 pai pentru = 10-8 I 0,69314718067, n 7 pai pentru = 10-10 I 0,69314718056, n 9 pai
71
Prezentarea problemei
Fiind dat integrala definit:
f (x )dx
a
ne propunem
Prezentarea metodei
Fie [a, b] R i a = x0 < x1 < ... < xn = b, o diviziune a lui [a,b] ba . cu xi = x0 + ih, 0 i n, h = n
Metoda Newton, propune urmtoarea aproximare pentru evaluarea integralei:
n1 n1 2x + x x + 2xi+1 f (x)dx f (a) + 2f (xi ) + 3f i i+1 + f i + f (b) 3 3 i=1 i=0 a b
Aplicaie
I=
0 1
dx x +1
pentru = 10-5 I 0,69314739068, n 4 pai pentru = 10-8 I 0,69314718061, n 7 pai pentru = 10-10 I 0,69314718056, n 8 pai
72
este un domeniu conex de frontier poligonal. I. Presupunem c D este un domeniu triunghiular de vrfuri V1(x1,y1), V2(x2,y2), V3(x3,y3). f ( x , y)dxdy poate fi
D
aproximat numeric folosind una din urmtoarele formule: S (f(x1,y1) + f(x2,y2) + f(x3,y3)), unde 3 D S reprezint aria domeniului D (formul avnd ordinul de exactitate unu). S (2) f (x, y)dxdy = 12 (f(x1,y1) + f(x2,y2) + f(x3,y3) + D 9f(xG,yG)), unde S reprezint aria domeniului D iar G(xG,yG) centrul de greutate al lui D (formul avnd ordinul de exactitate doi). S / / / / / / (3) f (x, y)dxdy = 60 8 f x 1 , y1 + f x 2 , y 2 + f x 3 , y 3 + D + 3(f (x 1 , y 1 ) + f (x 2 , y 2 ) + f (x 3 , y 3 ) + 27 f (x G , y G )] , unde S reprezint aria domeniului D, G(xG,yG) centrul de greutate / / / / / / al lui D, iar V1/ ( x 1 , y1 ) , V2/ ( x 2 , y 2 ) , V3/ ( x 3 , y 3 ) mijloacele laturilor opuse vrfurilor V1, V2, V3 respectiv (formul avnd ordinul de exactitate trei). II. Presupunem c D este un domeniu convex de frontier poligonal. Introducem pe domeniul D o triangularizare T, dat (1)
f (x, y)dxdy
[((
) (
) (
))
NE
73
V2i ( x i2 , y i2 ) ; V3i ( x i3 , y i3 ) , i = 1, NE , iar NE numrul total de elemente triunghiulare ale lui T. Astfel, obinem:
f (x, y)dxdy =
D
f (x, y)dxdy
i =1 K i
NE
Evalund numeric fiecare integral dubl definit pe cte un domeniu triunghiular Ki, i = 1, NE , conform formulelor de la cazul I, obinem prin sumarea rezultatelor valoarea aproximativ a integralei duble f ( x , y)dxdy iniial dat.
D
Aplicaie. Caz I
xy y 2 dxdy = 4,495
Aplicaie. Caz II y x (1 + xy)dxdy , unde D = {(x, y ) x [1;3]; y [0;1]}. D Observaie: Valoarea exact este: 0,496233.
74
31. Metoda Euler pentru rezolvarea unei probleme Cauchy asociat unei ecuaii difereniale ordinare
Prezentarea problemei
Fie problema Cauchy: y ' = f (x , y ) (1) y (x 0 ) = y 0
Prezentarea metodei
Se consider [x0, xn] R, unde: xi+1 = xi + h, 0 i n-1 i se cer valorile aproximative ale soluiei problemei (1), notate yi, unde yi y(xi), 1 i n. Formulele folosite sunt: x i +1 = x i + h (2) y i +1 = y i + hf (x i , y i ) cu 0 i n 1
Aplicaie
2y y' = Fie problema (1) x y(1) = 1 Se consider [1; 1,5] cu xi = 1 + 0, 1i, 0 i 5. Se cer valorile y1, y2, y3, y4, y5 care aproximeaz y(1,1); y(1,2); y(1,3); y(1,4); y(1,5). Astfel, pentru aceste valori, obinem aproximrile: 1,2099570480 1,4399062866 1,6898477157, n 8 mbuntiri pentru = 10-4 1,9597813354
75
2,2497071456 1,2099973144 1,4399941404 1,6899904782, n 13 mbuntiri pentru = 10-9 1,9599863276 2,2499816888 Valorile exacte ale soluiei y = x2 sunt: 1,21; 1,44; 1,69; 1,96; 2,25.
76
32. Metoda Runge-Kutta de ordinul doi pentru rezolvarea unei probleme Cauchy asociat unei ecuaii difereniale ordinare
Prezentarea problemei
(1) Fie problema Cauchy: y' = f (x , y ) y (x 0 ) = y 0
Prezentarea metodei
Se consider [x0, xn] R, unde: xi+1 = xi + h, 0 i n-1 i se cer valorile aproximative ale soluiei problemei (1), notate yi, unde yi y(xi), 1 i n. Formulele folosite sunt: x i +1 = x i + h y = y + (k + 3k )/4, unde i 1 2 i +1 (2) k1 = hf (x i , y i ) k 2 = hf (x i + 2h/3, y i + 2k1/3) cu 0 i n 1
Aplicaie
2y y' = Fie problema (1) x y(1) = 1 Se consider [1; 1,5] cu xi = 1 + 0, 1i, 0 i 5.
77
Se cer valorile y1, y2, y3, y4, y5 care aproximeaz y(1,1); y(1,2); y(1,3); y(1,4); y(1,5). Astfel, pentru aceste valori, obinem aproximrile: 1,2099972846 1,4399943092 1,6899910738, n 5 mbuntiri pentru = 10-5 1,9599875787 2,2499838240
sau:
1,2099999998 1,4399999996 1,6899999993, n 13 mbuntiri pentru = 10-8 1,9599999991 2,2499999987 Valorile exacte ale soluiei y = x2 sunt: 1,21; 1,44; 1,69; 1,96; 2,25.
78
33. Metoda Euler pentru rezolvarea unei probleme Cauchy asociat unui sistem de dou ecuaii difereniale ordinare
Prezentarea problemei
Fie problema Cauchy: y' = f ( x, y, z) z' = g ( x, y, z) y( x 0 ) = y 0 z ( x 0 ) = z 0
(1)
Prezentarea metodei
Se consider [x0, xn] R, cu diviziunea de pas h: xi+1 = xi + h, 0 i n1 i se cer valorile aproximative ale soluiei problemei (1), notate yi, respectiv zi, unde yi y(xi), zi z(xi), 1 i n. Formulele folosite sunt: x i+1 = x i + h y = y + hf ( x , y , z ) i+1 i i i i (2) z i+1 = z i + hg ( x i , y i , z i ) cu 0 i n 1
79
Aplicaie
y' = x / y 2 2 2 z' = z( x + y ) /( xy ) Fie problema (1) y(1) = 1 z(1) = 1 Se consider intervalul [1; 1,5] cu diviziunea xi = 1+0,1i, 0 i 5. Se cer valorile y1, y2, y3, y4, y5, respectiv z1, z2, z3, z4, z5, care aproximeaz y(1,1); y(1,2); y(1,3); y(1,4); y(1,5) zespectiv z(1,1); z(1,2); z(1,3); z(1,4); z(1,5).
Astfel, pentru aceste valori obinem aproximrile: 1,1000000015 i 1,2099919436 1,2000000030 i 1,4399824221 1,3000000045 i 1,6899714354, n 12 mbuntiri, 1,4000000060 i 1,9599589836 pentru = 104 1,5000000075 i 2,2499450664
y( x ) = x Soluia exacta este 2 z ( x ) = x
80