Metode Numerce Lucrre de lbortor r. 6 I. Scopul lucrăr Metode tertve de rezolvre sstemelor lre. II. Coţutul lucrăr. Metode tertve de rezolvre sstemelor lre. Geerltăţ. 2. Metod Jcob. 3. Metod Guss-Sedel. III. Prezetre lucrăr III.. Metode tertve de rezolvre sstemelor lre. Geerltăţ. Metodele tertve costu î costrucţ uu şr ( k ) k coverget către soluţ ectă sstemulu. Oprre procesulu tertv re loc l u dce m determt pe prcursul clcululu î fucţe de precz mpusă stfel îcât termeul m să costtue o promţe stsfăcătore soluţe căutte. Se cosderă sstemul lr () A = b, A M, (R) esgulră ş desfcere mtrce A deftă pr A = N-P. cu N o mtrce versblă. Fe 0 u vector rbtrr d R. Costrum şrul ( k ) k folosd relţ de recureţă: (2) N k+ = P k + b, k 0. Fe G = N - P. Este cuoscut că şrul ( k ) k coverge l soluţ ectă sstemulu orcre r f 0 dcă ş um dcă ρ(g) < (ρ(g) repreztă rz spectrlă lu G,.e. mmum modulelor vlorlor propr le lu G). Fe soluţ ectă sstemulu. Dcă otăm erore lu k fţă de cu e k = k, tuc e k+ = G e k = G k e 0, petru orce k 0. N se lege stfel îcât sstemul (2) să se rezolve uşor de eemplu dgolă su trughulră Î czul metodelor cocrete descrse î 73
Mădăl Ro Buec coture se cosderă desfcere stdrd mtrce A = (, ), deftă pr: A = L + D + R ude, 0 0 0 0 D = dg(,, 2,2,., ) = 0 2,2 0 0 0.. 0 0 0 0, 0 0 0 0 0 L = 2, 0 0 0 0..,,2,3,- 0 0,2,3,-, R = 0 0 2,3 2,- 2,.. 0 0 0 0 0 III.2. Metod Jcob Metod Jcob se crcterzeză pr desfcere N = D, P = - (L+R) Şrul ( k ) k costrut pr cestă metodă este: k+ b, =, =,2,,, Dcă G = N - P, tuc coefceţ mtrce G sut: k g, = 0, =,,., 74
ρ(g) m( Clculăm G, G : G G ). = m{ g, = = m{ Clculăm = G : G Dcă G < su echvletă cu:,, Metode Numerce, } = m{, } g, = m{ G =,,, }, }. <, tuc ρ(g) <. Dr codţ, >, = G < este cz î cre spuem că A este dgol domtă. Dec dcă, 0 petru orce =,2,,, ş dcă A este dgol domtă tuc şrul obţut pr metod Jcob coverge l soluţ ectă sstemulu (). Dcă e k este erore lu k fţă de : e k = k, tuc e k+ = G e k = G k e 0, petru orce k 0. Î cosecţă petru orce orme comptble k k 0 k 0 k 0 e G e G e G e Fe, = m( G, G ) ş fe eps > 0 dt. Vom cosder k este o promţe stsfăcătore petru soluţ ectă sstemulu dcă (, ) k < eps. cee ce este echvlet cu l( eps) k +. l(, ) 75
76 Mădăl Ro Buec Următore procedură Mple re drept prmetr umărul de ecuţ le sstemulu, mtrce etsă sstemulu, promţ ţlă 0 soluţe, ş erore eps. Procedur îtorce promţ k (dtă de metod Jcob) soluţe cu l( eps) k = +. l(, ) > mcob := proc(,, 0, eps) locl,,, k,,, p, sum; := vector(); := 0; for to do sum := 0; for to - do sum := sum + bs([, ]) for from + to do sum := sum + bs([, ]) f [, ] = 0 the prt(`metod u se plc`); RETURN f; sum := sum/bs([, ]); f < sum the := sum f := 0; for to do sum := 0; for to - do sum := sum + bs([, ] /[,]) for from + to do sum := sum + bs([, ]/[,]) f < sum the := sum f f < the :=
Metode Numerce f; f <= the prt(`metod u se plc`); RETURN f; k := floor(l(eps)/l()) + ; for p to k do for to do [] := [, + ]; for to - do [] := [] - [, ]*0[] for from + to do [] := [] - [, ]*0[] [] := []/[, ] 0 := RETURN(evlm()) ed; Utlzăm cestă procedură petru rezolvre sstemulu: 3 + 2 + 3 = 5 (3) + 5 2 + 3 = 7 - + 2 + 8 3 = 8 >A:=mtr(3,4,[3,,,5,,5,,7,-,,8,8]); 3 5 A := 5 7-8 8 > 0:=vector(3,[0,0,0.]); 0 := [0, 0,.] > mcob (3,,0,0.00); [.9999999999,.000000000,.000000000] > :=vector(3,[0.,0.,2345]); := [0,., 2345] > mcob (3,,,0^(-7)); [.9999999999,.000000000,.000000000] 77
Mădăl Ro Buec III.3. Metod Guss-Sedel. Metod Guss Sedel corespude desfcer N = L + D, P = -R. Şrul ( k ) k costrut pr cestă metodă este dt pr: k+ k+ b 2,, =, b, + k k,, C ş î czul metode Jcob dcă, 0 petru orce =,2,,, ş dcă A este dgol domtă tuc şrul obţut pr metod Guss-Sedel coverge l soluţ ectă sstemulu (). De semee dcă A este o mtrce smetrcă ş re elemetele de pe dgol prcplă poztve, tuc metod Guss-Sedel coverge dcă ş um dcă mtrce A este poztv deftă. Cosderăm A dgol domtă ş folosm ceeş evlure de erore c l metod Jcob. Procedur Mple de m os re drept prmetr umărul de ecuţ le sstemulu, mtrce etsă sstemulu, promţ ţlă 0 soluţe, ş erore eps. Procedur îtorce promţ k (dtă de metod Guss.Sedel) soluţe cu l( eps) k = +. l(, ) > mgusssedel := proc(,, 0, eps) locl,,, k,,, p, sum; := vector(); := 0; for to do sum := 0; for to - do sum := sum + bs([, ]) for from + to do sum := sum + bs([, ]) 78 k+ =, =2,3,,
Metode Numerce f [, ] = 0 the prt(`metod u se plc`); RETURN f; sum := sum/bs([, ]); f < sum the := sum f := 0; for to do sum := 0; for to - do sum := sum + bs([, ]) for from + to do sum := sum + bs([, ]) sum := sum/bs([, ]); f < sum the := sum f f < the := f; f <= the prt(`metod u se plc`); RETURN f; k := floor(l(eps)/l()) + ; for p to k do [] := [, + ]; for from 2 to do [] := [] - [, ]*0[] [] := []/[, ]; for from 2 to do [] := [, + ]; for from + to do [] := [] - [, ]*0[] for to - do [] := [] - [, ]*[] [] := []/[, ] 0 := RETURN(evlm()) ed; 79
Mădăl Ro Buec Aplcăm cestă metodă petru rezolvre sstemulu (3) d secţue precedetă. >A:=mtr(3,4,[3,,,5,,5,,7,-,,8,8]); 3 5 A := 5 7-8 8 > 0:=vector(3,[0,0,0.]); 0 := [0, 0,.] > mgusssedel(3,,0,0.00); [.9999999999,.000000000,.000000000] > :=vector(3,[0.,0.,2345]); := [0,., 2345] > mgusssedel(3,,,0^(-7)); [.9999999999,.000000000,.000000000]. Probleme propuse ) Alzţ comprtv metodele Jcob ş Guss-Sedel petru sstemul A = b, cu A = 2 - - 2 b = 0 = 0 0 2) Aceeş problemă petru A = 2-0 - 2-0 - 2 b = 0 = 0 0 0 0 80