Laborator 4 Iterpolare umerica. Polioame ortogoale Resposabil: Aa Io ( aa.io4@gmail.com) Obiective: I urma parcurgerii acestui laborator studetul va fi capabil sa iteleaga si sa utilizeze diferite metode de iterpolare, precum si sa utilizeze cea mai bua variata i fuctie de situatia specifica i care iterpolarea este ecesara. Suport teoretic: Exista situatii frecvete i care o fuctie reala f : [a,b] R este cuoscuta doar i aumite pucte x 0, x 1,.., x. I acest caz, deducerea exacta a formei fuctiei u este posibila, deci devie ecesara utilizarea uei aproximari a acesteia. Astfel, fuctia f : [a,b] R, cuoscuta doar i x 0, x 1,..., x pri valorile f(x 0 ), f(x 1 ),..., f(x ) este aproximata i afara suportului pritr-u poliom de iterpolare: P (x) = a 0 u 0 (x) + a 1 u 1 (x) +...+ a u (x), ude u 0 (x), u 1 (x),, u (x) formeaza baza iterpolarii. Determiarea coeficietilor a 0, a 1,, a presupue stabilirea uor coditii de iterpolare: P(xi) = f(xi), i = 0:, coditii ce coduc la sistemul de ecuatii: k = 0 akuk( xi) = f ( xi), i = 0 : Iterpolare poliomiala I cazul iterpolarii poliomiale, baza folosita este u k (x) = x k, k=0:, ude poliomul de iterpolare se calculeaza folosid formula Lagrage: i = 0, i k ( ) = ( k ) = π ( ) i = 0, i k ( x xi) P x f x x ( xk xi) f ( xk) ( x xk) π '( xk)
ude: π = ( x) ( x x 0)( x x1)...( x x) I raport cu suportul x 0,, x, se defiesc diferetele divizate ale uei fuctii f astfel: F 0[ xi] = f ( xi), i = 0 : Fk 1[ x0,..., xk 1] Fk 1[ x1,... xk] [ 0, 1,..., k] =, = 1: Fk x x x k Fk x x [ 0, 1,..., xk] x 0 x k k f ( xj) f ( xj) = = j = 0 π '( xj) j = 0 ( xj xi) k i= 0, i j astfel: Poliomul de iterpolare se poate exprima folosid diferetele divizate( formula lui Newto) P (x) = f(x 0 )+(x-x 0 )F 1 [x 0,x 1 ]+(x-x 0 )(x-x 1 )F[x 0,x 1,x ]+...+(x-x 0 )...(x-x -1 )F [x 0,x 1,...,x ]. Petru aceasta metoda eroare iterpolarii se calculeaza utilizad urmatoarea formula: E X x F x x x x ( ) = π ( ) [, 0,..., ] π ( ) M ( f ) ( )! Polioame ortogoale Iterpolare cu polioame Cebasev Baza iterpolarii: 1, T 1 ( x ), T ( x ),..., T ( x ) Poliomul geeralizat de iterpolare: a0 P( x) = + a1t 1( x) +... + at( x)
Suportul iterpolarii este reprezetat de radciile poliomului Cebasev de grad +1: k T ( xk) = 0, xk = cos π, k = 0 : + Utilizad sistemul de ecuatii precizat la iceputul documetului si proprietatea de ortogoalitate a poliomului se obtie solutia: k ( ) (cos π ) + a0 = f xk = f k aj = f ( xk) Tj( xk) = f ( xk) Tj(cos π ) + Iterpolare trigoometrica Cosiderad fuctia f periodica si avad perioada Π, suportul iterpolarii este reprezetat de +1 pucte care impart itervalul [0,Π] i itervale egale: Baza iterpolarii: kπ θ k =, k = 0 : 1,si θ,cos θ,si θ,cos θ,...,si θ,cos θ. Poliomul geeralizat de iterpolare: a0 P( θ ) = + b1si θ + a1cos θ +... + b si θ + a cos θ Solutia sistemului de ecuatii obtiut di coditiile de iterpolare: a 0 kπ = f ( ) k = 0 kπ j k k kπ b = f ( θ )si jθ = f ( )si, j = 1: k = 1 k = 1 kπ j k k kπ a = f ( θ )cos jθ = f ( )cos, j = 1:
Fuctii splie de iterpolare Iterpolarea poliomiala u este stabila umeric, limitad gradul poliomului de iterpolare. Aceasta situatie coduce la o aproximare locala, pe itervale pri polioame de grad mic(uzual 3). U splie cubic de iterpolare este defiit ca: S :[ x, x + ) R, S ( x) = a + b ( x x ) + c ( x x ) + d ( x x ) 3 i i i 1 i i i i i i i i I geeral, i calculul splieurilor se foloseste baza Berstei, care are urmatorul suport: Splieuri de clasa C1: (1 t),3 t(1 t),3 t (1 t), t 3 3 Coditii de iterpolare Hermite: S ( x ) = f ( x ), i = 0 : 1 i i i S '( x ) = f '( x ), i i i S ( x ) = f ( x ), 1 S '( x ) = f '( x ). 1 Coditii de cotiutitate si derivabilitate i odurile itere: S ( x ) = S ( x ), i = 0: i i i i S '( x ) = S '( x ), i i i i+ 1 Splieuri de clasa C: Coditii de iterpolare de tip Lagrage: S ( x ) = f ( x ), i = 0 : 1 i i i S ( x ) = f ( x ). 1 Coditii de cotiuitate, derivabilitate si curbura i odurile itere: S ( x ) = S ( x ), i = 0: i i i i S '( x ) = S '( x ), i i i i+ 1 S ''( x ) = S ''( x ). i i i i splieuri aturale: S ''( x ) = S ''( x ) = 0 0 0 1
splieuri tesioate: S '( x ) = f '( x ), 0 0 0 S '( x ) = f '( x ). 1 Exercitii: 1. Scrieti o fuctie ce calculeaza valoarea poliomului de iterpolare Lagrage i puctul a, cuoscad vectorii x si y care determia suportul de iterpolare.(p) fuctio l=lagrage(a,x,y). Se cosidera f o fuctie periodica impara, cu perioada Π, cuoscuta pri valorile: x = Π/4 => F(x) = -1 x = Π/ => F(x) = 0 x = 3Π/4 => F(x) = 1 (1p) a) Scrieti o fuctie petru calculul coeficietilor poliomului de iterpolare sub forma Newto. fuctio [z] = DifereteDivizate(x,y) b) Scrieti o fuctie petru calculul valorii poliomului de iterpolare sub forma Newto itr-u puct dat.(p) fuctio NewtoVal = Newto(a,x,y) 3. a) Scrieti o fuctie ce calculeaza valoarea uei fuctii itr-u puct a ca rezultat al iterpolarii obtiute folosid splieuri de clasa C1, folosid suportul de iterpolare x, y, precum si derivatele dx.(3p) fuctio s = SplieC1(a,x,y,dx) b) Scrieti o fuctie ce calculeaza valoarea uei fuctii itr-u puct a ca rezultat al iterpolarii obtiute folosid splieuri de clasa C aturale, folosid suportul de iterpolare x, y.(p) fuctio s = SplieC(a,x,y) 4. BONUS: Realizati u grafic al coturului maiii voastre:). Poriti de la urmatoarele istructiui: figure('positio', get(0,'screesize')); axes('positio','[0 0 1 1]); [x,y] = giput;
Asezati-va palma pe ecra ( sau u cotur al palmei pe o foaie de hartie). Folosid mouse-ul selectati suficiet de multe pucte petru a determia coturul palmei. Salvati puctele selectate si folositi-le ca suport al iterpolarii. Reprezetati grafic rezultatele obtiute.