NŒgra illšmpningar Inerpolaion Modellfunkioner som saisfierar givna punker m Animering l m Bilder l l ršrelser,.ex. i ecknad film fšrger resizing m Grafik m Diskre represenaion -> koninuerlig 2 m Vi kšnner f() i n punker y i = f( i ) i=,,n m Vi sšker en funkion P() sœ a P( i ) = y i m P() inerpolerar f i punkerna i m P kan vara polynom, rigonomeriska funkioner Inerpolaion 3 Basfunkioner En inerpolerande funkion všljs som linjšrkomb. av basfunkioner Φ () Φ n () j= f() = x j Φ j () x j Šr de paramerar som ska n besšmmas A kršva a inerpolerar ( i, y i ) i = n beyder a j= f() = x j Φ j ( i ) = y i n vilke ger e sysem av linjšra ekvaioner Ax = y Elemenen i A ges av a ij = Φ j ( i ) 4 Kvadraisk sysem m Genom a všlja anale basfunkioner = anale mšpunker fœr vi e kvadraisk sysem sœ a punkerna saisfieras exak m Vale av basfunkioner pœverkar kondiionen hos Ax = y Definiioner m En inerpolerande funkion anvšnds fšr a uppskaa všrde av f i en punk. m Om illhšr de inervall som bildas av n gšrs en inerpolaion m Ligger uanfšr inervalle gšrs en exrapolaion m A arbea med polynom Šr fšrdelakig efersom de Šr enkla a derivera och inegrera 5 6
Polynominerpolaion Basfunkionerna fšr polynom m Enklas och vanligas a všlja e polynom som inerpolerande funkion m Till n punker ( i,f i ) finns e enydig besšm polynom av grad n- m Polynome kan represeneras och evalueras pœ olika sš, men alla mœse ge samma maemaiska funkion Φ j () = j- j = n Φ () = Φ 2 () = Φ 3 () = 2 Φ n () = n- P() = c 0 + c + c 2 2 + c n- n- 7 8 Koefficienerna x i besšms av de linj. ekvaionssyseme 2 2 2 2 n 2 n n- c 0 n- 2 c = y y 2 n- n c n- y n Vandermonde-maris, ofa illakondiionerad 9 Exempel m BesŠm de andragradspolynom som inerpolerar m Ansas : P() = c 0 + c + c 2 2 ger ekvaionen c 0 90 800 0.96 00 0000 c =.2 0 200 c 2.30 c = [0.42-0.003 0.000] T ger P() = 0.42-0.003 + 0.000 2 m Illakond. problem : κ(a) = 2á0 6 90 0.96 00.2 0.30 Om man lšgger ill en punk mœse hela syseme lšsas pœ ny. 0 Newons allmšnna inerpolaionsformel koefficienerna m AnsŠ P n- () som e inerpolaionspolynom av K - Inerpolaion 7 grad n- P n- () = c 0 + c (- ) + c 2 (- )(- 2 ) + + c n- (- )(- 2 )áá (- n- ) m P( i ) = f i, i=,2,, n mœse gšlla insšning av ( i,f i ) ger c 0 = f c 0 + c ( 2 - ) = f 2 c 0 + c ( 3 - ) + c 2 ( 3 - )( 3-2 ) = f 3 c 0 = f c = c 2 = f 2 - f 2 - ( 3 - ) ( 2 - ) f 3 - f - (f 2 - f ) ( 3 - )( 3-2 ) och all mer komplicera 2
90 0.96 00.2 0.30 i exemple P() = c 0 + c (-90) + c 2 (-90)(-00) ger ekvaionen c 0 0 0 0.96 0 0 c =.2 20 200 c 2.30 Ger nollorna exempel m Den nya formuleringen ger c = [0.96 0.06 0.000] T P() = 0.96 + 0.06(-90) + 0.000(-90)(-00) = = 0.42-0.003 + 0.000 2 m κ(a) = 2á0 2 m Endas en ekvaion behšver lšsas om en punk lšggs ill 3 4 f 2 f 2 3 f 3 4 f 4 c 0 c c2 f[, 2 ] f[ 2, 3 ] f[ 3, 4 ] f[, 2, 3 ] f[ 2, 3, 4 ] BerŠkna x i f[, 2 3, 4 ] R T kan uppskaas med fšrsa fšrsummade erm y f[, 2,, k+ ] = f (k) (ξ) k! c 3 5 Ny exempel f[,] f[,,] 2 0.36406 0.00028/ 22 0.36434-0.0000/2 0.00027/ 23 0.3646 0/2=0 0.00027/ 24 0.36488 P 3 (x) = c 0 + c (- ) + c 2 (- )(- 2 ) + c 3 (- )(- 2 )(- 3 )= = 0.36406 + 0.00028(-2) - 0.000005(-2)(-22) + + 0.0000/6(-2)(-22)(-23) 20 0.36379 2 0.36406 22 0.36434 23 0.3646 24 0.36488 0.0000/6 6 Lagrange inerpolaion P() = ( - 2 ) ( - 3 ) y Polynomeramfšr y ( - 2 ) ( - 3 ) blir = 0 fšr = 2 & 3 + ( - ) ( - 3 ) y 2 och = fšr = ( 2 - ) ( 2-3 ) + ( - ) ( - 2 ) y 3 ( 3 - ) ( 3-2 ) Vale av Φ j () medfšr a A = I och allsœ x=y Se fig.7.2 (220) 7 f (n) (ξ) SŒ kan allsœ skaas med nšsa koefficien n! 8 Hur sor blir fele? Sas 6.2 : LŒ f vara en funkion med n koninuerliga derivaor inom de inervall som bildas av punkerna, 2,, n. Om P Šr de enydig besšmda polynom av grad n- som uppfyller P( i ) = f( i ) i =,,n DŒ gšller a f f() - P() = (n) (ξ) ( - )( - 2 )( - n ) fšr nœgo ξ n! inom de inervall som bildas av, 2,, n.
Trunkeringsfele m Newons allmšnna inerpolaionspolynom l runkeringsfele uppskaas med fšrsa fšrsummade ermen m Fele i inerpolaionspunkerna Šr noll m Observera Runges fenomen Ä lœg gradal vid polynominerpolaion Fig. 6. (78) m f approximeras med ršlinje genom (,f ) och ( 2,f 2 ) : P () = f + ( ) f f ( ) ( ) 2 2 LinjŠr inerpolaion 9 20 De gamla exemple Approximera f(97) med linjšr inerpolaion 90 00 0 20 f 0.96.2.30.5 Sedan idigare ve vi a x = [0.96 0.06 0.000] T med polynome P() = 0.96 + 0.06(-90) Formeln ger P () = ( ). + 97 90 096 ( ) (. 2 0. 96 ) = 00 90. 072 2 Trunkeringsfel - linjšr inerpolaion m om f inerpoleras linjšr genom (,f ) och ( 2,f 2 ), 2 = + h kan runkeringsfele uppskaas med R T h 2 /8 á max fõõ() m Om man ine kšnner funkionen f, hur skaar man fõõ()? Approximera f med inerpolaionspolynom av en grad hšgre och derivera dea. (LŠgg ill en erm) 22 i vœr exempel m P() = 0.96 + 0.06(-90) ( P(97) =.072) Q() = P() + 0.000(-90)(-00) m QÕÕ() = 0.000, h= 2 - = 0 R T < 0 2 /8 á 0.000 = 0.0025 VŠrdena kommer frœn f() = 0.25e 0.05 f(97) =.072 sœ fele 0.0009 Hygglig feluppskaning 23 FelkŠllor vid linjšr inerpolaion BesŠm de polynom av grad som inerpolerar punkerna (,f ) och ( 2,f 2 ) P () = c 0 + c (- ), [, 2 ] R XX : Fele i inerpolaionspunken ( ± ) ger upphov ill fel approximaionen av f() R XF : Fel i de angivna funkionsvšrden fšljer med ill ber. av c i och dšrmed P R B : Avrundningsfel i berškningarna R T : Approximaion med rš linje 24
R XX R XF fele i punken som inerpoleras,, forplanas i berškningen av P() m mv-sasen ger a dea begršnsas enlig f fõ()êáê efersom f ine Šr kšnd, skaas fõ med PÕ() = c à R XX < c ÊáÊ fele i de givna funkionsvšrdena, f, forplanas i berškningen av P() m Dea fel kan skaas med R XF ε dšr f i ε 25 26 R B och R T m R B avrundningsfelen i berškningarna Šr normal lie i jšmfšrelse med švriga fel ( i MATLAB 0-6 ) m R T Šr de ÒmodellfelÓ som gšrs nšr man approximerar f med en rš linje m Dea kan skaas h 2 Ä R T max fõõ(), h= 2-8 [, 2 ] 27 f i korrek avr. f i = 0.5E-5 a = 2.4 ± 0.05 BesŠm f(a) med f 3E-5 Vi provar linjšr inerpolaion : 20 0.36379 2 0.36406 22 0.36434 23 0.3646 24 0.36488 P () = c 0 + c á(- ) fšr (2, 0.36406) och (22, 0.36434) P ( i ) = f i ger c 0 + c á(2-2) = 0.36406 (c 0 fœs direk) c 0 + c á(22-2) = 0.36434 c 0 = 0.36406 och c =0.00028 Exempel 28 exempel R T P () = 0.36406 + 0.00028 á( - 2) P (2.4) = 0.36406 + 0.00028 á( - 2) = 0.36472 R B = 0 hšr, alla rškningar exaka R XF 0.5E-5 y alla f i korrek avrundade R XX ~ < c ÊáÊ = 0.28E-3 á 0.5E- = 0.4E-4 sœ ŒersŒr R T max fõõ(), h= 2-8 [, 2 ] h 2 29 h= 2 - = 22-2 = Äskaa fõõ() med e andragradspolynom a nšsa punk (23,0.3646) och ansš P 2 () = P () + c 2 (- )(- 2 ) P (23) + c 2 (23-2)(23-22) = f 3 0.36462 + 2c 2 = 0.3646 c 2 = -0.5E-5 P 2 ÕÕ = 2ác 2 = - E-5 h 2 R T áe-5 = 0.25E-5 8 Se F 8-4 ÓnŠsa ermó 30
De oala fele Syckvis polynominerpolaion R TOT R XX + R XF + R T + R B = =.4E-5 + 0.5E-5 + 0.25E-5 + 0 = = 2.025E-5 2.E-5 LinjŠr inerpolaion duger allsœ! 3 m A anpassa e enda polynom ill e sor anal punker ger mes rolig upphov ill oscillering m IsŠlle inerpolerar man med polynom av lšgre grad pœ mindre inervall m LinjŠr inerpolaion - rš linje mellan varje par av succ. punker. Den oala inerpolerande funkionen har dœ disk. derivaa i alla inre punker m Man kan všlja polynom sœ a den sammansaa funkionen Šr koninuerlig deriverbar 32 x = 0:0; y = sin(x); xi = 0:.25:0; yi = spline(x,y,xi); plo(x,y,'o',xi,yi) 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8 Kubiska splines - 0 2 3 4 5 6 7 8 9 0 Skifning/skalning m Fšr ašrbšra kan man anvšnda en annan upps. basfunkioner, som ger samma polynom men annan represenaion Φ j () = ( -c ) d j- dšr c = ( + n )/2 och d = ( n - )/2 c innebšr en skifning och d en skalning de nya ober. variablerna ligger i inervalle [-, ] 33 34 90 0.96 00.2 0.30 c = 00 och d = 0 Φ j () = ( -00 ) 0 j- P() = c + c -00-00 0 0 + c ( 2 0 ) 2-0 0 κ(a) = 3.2255 exemple igen Φ () = Φ -00 2 () = 0 Φ -00 3 () = ( ) 2 0 35