Metode Nuerce - Lucrarea de laborator 11 Lucrarea de laborator r. 11 I. Scopul lucrăr Aproxarea î ede pr etoda celor a c pătrate II. Coţutul lucrăr 1. Metoda celor a c pătrate. Procedur MAPLE ş exeple III. Prezetarea lucrăr III.1. Metoda celor a c pătrate Fe f : [a, b] R o fucţe. Fe x, x 1,, x +1 pucte dstcte d tervalul [a, b] petru care se cuosc valorle fucţe y = f(x ) petru orce =,1,. Aproxarea fucţe f prtr-u polo de terpolare u este dcată î urătoarele stuaţ: câd este u uăr foarte are, ceea ce deteră u volu are de calcul petru deterarea coefceţlor de terpolare câd valorle y = f(x ) u sut exacte. Î aceste stuaţ se poate folos aproxarea fucţe pr etoda celor a c pătrate. Fe H u spaţu pre-hlbert (real sau coplex) ş X o subulţe a sa. Fe x u eleet al lu H. Se ueşte eleet de cea a buă aproxare a lu x pe X u eleet p X astfel îcât p x = f x x x X Se poate arăta că u eleet p H este eleet de cea a buă aproxare a lu 1
Mădăla Roxaa Buec Metode Nuerce Laborator - 7 x pe H dacă ş ua dacă p -x H (sau echvalet, < p -x, x> = petru orce x H ). Cosderă ulţea fucţlor defte pe tervalul [a, b], F : = {f : [a, b] R } ş +1 pucte dstcte x, x 1,, x d tervalul [a, b]. Spue că fucţle f ş g d această ulţe sut egale aproape peste tot (ş vor f detfcate) dacă f(x ) = g(x ) petru orce =,1,,. Ma precs, f ~ g f(x ) = g(x ) petru orce =,1,,, defeşte o relaţe de echvaleţă pe F. Notă [f] = {g: f ~ g} = { g : [a, b] R, f(x ) = g(x ) petru orce =,1,, } clasa de echvaleţă a lu f. Notă cu cu H ulţea claselor de echvaleţă relatv la relaţa de echvaleţă de a sus. H poate f îzestrat cu o operaţe de grup abela după cu urează: [f] + [g] : = [h], ude h : [a, b] R, h(x) = f(x) + g(x) petru orce x [a, b]. De aseeea H poate f îzestrat cu o operaţe exteră de îulţre cu scalar real după cu urează: α[f]: = [h], ude h : [a, b] R, h(x) = αf(x) petru orce x [a, b]. Este uşor de observat că defţa u depde de reprezetaţ. H îzestrat cu cele două operaţ defte a sus deve spaţu vectoral. Fe p o fucţe cu urătoarele propretăţ: p(x ) > p ( ) =1. x Dacă f 1 ~ f ş g 1 ~ g atuc p( x ) f1 ( x ) g1 ( x ) = p( x ) f ( x ) g ( x ). Itroduce urătorul produs scalar pe H p <[f], [g]> = ( x ) f ( x ) g( x )
Metode Nuerce - Lucrarea de laborator 11 Fucţa p(x) este o fucţe podere trodusă î poteza că aproxărle f(x ) sut dferte ca ord de ăre. Relatv la produsul scalar trodus ora lu [f] este deftă pr [f ] = ( x ) f ( x ) p. Î cele ce urează cove să deseă o clasă de echvaleţă [f] prtru reprezetat al e f. Fe ϕ, ϕ 1, ϕ u sste de fucţ lar depedete defte pe [a,b], cu. Cove să ut spaţul geerat de ele spaţul poloaelor geeralzate ş să-l otă H. Dec u polo geeralzat F H este de fora F(x) = ϕ ( x) c. Î cazul etode celor a c pătrate, eleetul F care dă cea a buă aproxare a fucţe f pe H trebue să satsfacă codţa p ( x )( f ( x ) F ( x )) = f p( x )( f ( x ) F( x )) F H Deterarea coefceţlor c j a poloulu geeralzat F cu ajutorul aceste relaţ este dfclă. Se foloseşte propretatea <f F, ϕ j > = petru orce j =, 1,. ceea ce reve la <f, ϕ j > = c <ϕ, ϕ j > + c 1 <ϕ 1, ϕ j > + + c <ϕ, ϕ j >, j =, 1,,. Notă a j = <ϕ, ϕ j > = p( x ) ϕ ( x ) ϕ ( x ) k= b j = <f, ϕ j > = ( x ) f ( x ) ( x ) k p k k ϕ j k= Petru deterarea coefceţlor c j a poloulu geeralzat F se rezolvă ssteul k j k k 3
Mădăla Roxaa Buec Metode Nuerce Laborator - 7 c a + c 1 a 1 + + c a = b c a 1 + c 1 a 11 + + c a 1 = b 1 c a + c 1 a 1 + + c a = b Deteratul acestu sste fd u deterat Gra (eleetele sale sut produse scalare) este dfert de zero, deoarece ssteul de fucţ ϕ 1, ϕ, ϕ este u sste lar depedet. Dacă ϕ j (x) = x j 1, j =, 1,,,, ş p + 1, atuc ar ssteul ateror deve F (x) = cx. c (+1) + c 1 x + + c x = f ( x ) + 1 c x + c 1 x + + c x = x f ( x ) + 1 c x + c 1 x + + c x = x f ( x ) Acest sste este ut ssteul oral al lu Gauss. Ltăr: Petru deterarea coefceţlor c j a poloulu geeralzat F se rezolvă ssteul Ax = b, cu A = X t X ar b = X t Y, ude p(x ) ϕ (x ) p(x ) ϕ 1 (x )... p(x ) ϕ (x ) X = p(x 1) ϕ (x 1 ) p(x 1) ϕ 1 (x 1 )... p(x 1) ϕ (x 1 ) p(x ) ϕ (x ) p(x ) ϕ 1 (x )... p(x ) ϕ (x ) 4
Metode Nuerce - Lucrarea de laborator 11 ar p(x ) f(x ) Y = p(x 1) f(x 1 ) p(x ) f(x ) Dacă fucţle ϕ, ϕ 1, ϕ sut lar depedete, atuc rag(x) = +1 ş atrcea A este poztv deftă. Ca urare exstă ş este ucă o atrce feror trughulară L cu eleetele de pe dagoala prcpală poztve astfel îcât A = LL t (atrcea L se ueşte factor Cholesky). Rezolvarea ssteulu Ax=b reve la rezolvarea a două sstee cu atrce trughulare: Lz =b, L t x=z. O varată a letă (volu de calcul a are), dar uerc a stablă, de rezolvare a ssteulu Ax = b este dată de descopuerea QR a atrce A, adcă de reprezetarea atrce A sub fora A = QR ude Q este o atrce ortogoală (Q t Q = I +1 ) ar R o atrce superor trughulară. Atuc rezolvarea ssteulu Ax=b este echvaletă cu rezolvarea ssteulu Rx =Q t b. Dacă A=X t X u este be codţoată, atuc gradul de acurateţe al soluţe furzate de etoda celor a c pătrate poate f foarte scăzut. III.. Procedur MAPLE ş exeple Paraetr procedur patrate_c de a jos sut: x - lsta celor +1 pucte: x, x 1,, x y - lsta ce coţe valorle fucţe f î ce +1 pucte: x, x 1,, x (y = f(x ), y 1 =f(x 1 ),.,y =f(x )) ϕ lsta fucţlor lar depedete ϕ 1, ϕ, ϕ 5
Mădăla Roxaa Buec Metode Nuerce Laborator - 7 p poderea (lsta) Procedura îtoarce o lsta ce coţe coefceţ poloulu geeralzat ce aproxează f. > patrate_c:=proc(x,y,p,ph) > local,,,k,j,a,b,c,ep,e; > :=ops(x)-1; > :=ops(ph)-1; > b:=vector(+1); > a:=atrx(+1,+1); > for fro to do > b[+1]:=;for k fro to do > b[+1]:=b[+1]+y[k+1]*ph[+1](x[k+1])*p[k+1] > od > od; > for fro to do > for j fro to do > a[+1,j+1]:=; > for k fro to do > a[+1,j+1]:=a[+1,j+1]+p[k+1]*ph[+1](x[k+1])*ph[j+1](x [k+1]) > od; > a[j+1,+1]:=a[+1,j+1] > od; > od; > c:=vector(+1); >prt(`factorul de codtoare`,evalf(cod(a))); > c:=lsolve(a,b); 6
Metode Nuerce - Lucrarea de laborator 11 >ep:=;for fro to do e:=y[+1]; for j fro to do e:=e-ph[j+1](x[+1])*c[j+1] od; e:=e^*p[+1]; ep:=ep+e od; >prt(`sua patratelor erorlor (poderate)`,evalf(ep)); > RETURN([seq(c[],1..+1)]) > ed; Î exeplele ce urează vo folos ş procedurle evalueaza ş dese. Procedura evalueaza preşte drept paraetr lsta fucţlor lar depedete ϕ 1, ϕ, ϕ, lsta coefceţlor poloulu geeralzat ce aproxează f ş u puct a. Procedura îtoarce valoarea poloulu geeralzat î a. Procedura dese repreztă grafc î acelaş sste de axe de coordoate poloul geeralzat ce aproxează fucţa ş cele +1 pucte date ţal. Puctele sut reprezetate pr elpse. Paraetr procedur sut fucţa deterată de poloul geeralzat, lsta x ce coţe puctele x, x 1,, x, ş ş lsta y ce coţe valorle fucţe. Îate de a folos aceste procedur trebue îcărcate pachetele lalg, plots ş plottools. > evalueaza:=proc(ph,c,a) > local,,fx; > :=ops(ph);fx:=; > for fro 1 to do > fx:=fx+ph[](a)*c[] od; > RETURN(fx) > ed; > dese:=proc(f,x,y) > local,,ra,rb, d1,d,d3,x1,x,y1,y;:=ops(x);x1:=(seq(x[],1..)) ;x:=ax(seq(x[],1..)); 7
Mădăla Roxaa Buec Metode Nuerce Laborator - 7 > y1:=(seq(y[],1..));y:=ax(seq(y[],1..)); > ra:=(x-x1)/; rb:=(y-y1)/; > d1:=seq(ellpse([x[],y[]],ra,rb,flled=true,color=black ),1..); > d:=plot(f(t),t=x1-(x-x1)/1..x+(x-x1)/1); > d3:=d1,d; > dsplay(d3); > ed; Exeple > x1:=[1,,3,4,5,6]; x1 := [ 1,, 3, 4, 5, 6 ] > y1:=[.9,.98,1.,1.4,1.1,1.1]; > p1:=[seq(1/6,1..6)]; > ph1:=[t->1,t->t]; y1 := [.9,.98, 1., 1.4, 1.1, 1.1 ] p1 := 1 1 1 1 1 1,,,,, 6 6 6 6 6 6 φ1 := [ 1, t t ] > c1:=patrate_c(x1,y1,p1,ph1); Factorul de codtoare, 119.4666667 Sua patratelor erorlor (poderate),.698417 > evalueaza(ph1,c1,t); c1 := [.878666668,.485714 ].878666668 +.485714 t > dese((t->evalueaza(ph1,c1,t)),x1,y1); 8
Metode Nuerce - Lucrarea de laborator 11 > ph:=[t->1,t->t,t->t^]; φ := [ 1, t t, t t ] > c:=patrate_c(x1,y1,p1,ph); Factorul de codtoare, 15157.8 Sua patratelor erorlor (poderate),.1195389 c := [.847,.6978571, -.398579 ] > evalueaza(ph,c,t);.847 +.6978571 t.398579 t > dese((t->evalueaza(ph,c,t)),x1,y1); 9
Mădăla Roxaa Buec Metode Nuerce Laborator - 7 > ph3:=[t->1,t->1/(1+t),t->1/(1+t^3)]; φ3 := 1 1, t, t t + 1 > c3:=patrate_c(x1,y1,p1,ph3); 1 1 + t 3 Factorul de codtoare, 1533.1963 Sua patratelor erorlor (poderate),.15435837 c3 := [ 1.338167, -.86955898,.199635615 ] > evalueaza(ph3,c3,t);.86955898.199635615 1.338167 + t + 1 1 + t 3 > dese((t->evalueaza(ph3,c3,t)),x1,y1); 1