OH till Föreläsning 5, Numme K, 14101 GNM Kap 4-44A / GKN Kap 41A,(D),E Interpolation x y 1900 8 1910 98 190 481 190 40 1940 404 1950 9 1960 91 1970 940 1980 960 1990 980 Läsa mellan raderna 1900 190 1940 1960 1980 000 Allmän polynom-interpolation Välj ett lämpligt gradtal till polynomet och välj ut nödvändigt antal tabellvärden (eller tag alla tabellvärdena och låt gradtalet bestämmasav det) Bestäm sedan polynomets koefficienter genom att låta polynomet gå igenom de utvalda tabellvärdena, p(x i )=y i Linjär interpolation, GNM sid (5) - GKN sid 14ff Sökt värde är y(195) Linjär interpolation (approximation med en rät linje) kräver två givna punkter 195 ligger mellan 190 och 190: y = kx+ m y 1 = kx 1 + m y = kx + m 481 = k 190 + m 40 = k 190 + m k =1 m = 49 y(195) = k 195 + m = =1 195 + 49 = = 4045 + 49 = 4915 Kvadratisk interpolation, GNM sid (5) Sökt värde är y(195) Kvadratisk interpolation (approximation med ett andragradspolynom) kräver tre givna punkter eftersom ett andragradspolynom har tre koefficienter 195 ligger mellan 190 och 190, jag väljer x 1 = 190, x = 190 och x = 1940: y = c 1 + c x + c x y 1 = c 1 + c x 1 + c x 1 y = c 1 + c x + c x y = c 1 + c x + c x 481 = c 1 + c 190 + c 190 40 = c 1 + c 190 + c 190 404 = c 1 + c 1940 + c 1940 c 1 = 506119 c = 54115 c = 1405 y(195) = c 1 + c 195 + c 195 = 506119 + 54115 195 + ( 1405) 195 = = 506119 + 1041684875 5064015 = 4665 1 190 190 1 190 686400 A = 1 190 190 = 1 190 74900 = κ (A) =9 10 11 1 1940 1940 1 1940 76600 1940 ligger lika långt från 195 som 1910 Hade jag valt x 1 = 190, x = 190 och x = 1910 hade jag fått c 1 = 515055, c = 556 ochc = 19 vilket ger y(195) = c 1 + c 195 + c 195 = = 515055 + 556 195 + ( 19) 195 = 515055 + 1005680 515081875 = 465 Nya koefficienter och ett lite annat svar! 1
Kvadratisk interpolation med centrering Med x 1 = 190, x = 190 och x = 1940 kan jag centrera kring medelvärdet m = 190 y = c 1 + c (x m)+c (x m) 481 = c 1 + c (190 190) + c (190 190) 40 = c 1 + c (190 190) + c (190 190) 404 = c 1 + c (1940 190) + c (1940 190) c 1 = 40 c = 1195 c = 1405 y(195) = c 1 + c (195 190) + c (195 190) = = 40 + ( 1195) (195 190) + ( 1405) (195 190) = 40 + 5975 515 = 4665 1 190 190 (190 190) 1 10 100 A = 1 190 190 (190 190) = 1 0 0 = κ (A) =14 10 1 1940 190 (1940 190) 1 10 100 Hade jag valt x 1 = 190, x = 190, x = 1910 och m = 190 hade jag fått c 1 = 481, c =16och c = 19 vilket ger y(195) = c 1 + c (195 190) + c (195 190) = 481 + 16 (195 190) + ( 19) (195 190) = 481 + 80 475 = 465 Nya koefficienter (förutom högstagradskoefficienten) men samma svar! (Numreringen av x i spelar här ingen roll Vi hade fått exakt samma koefficienter om vi hade tagit tex x 1 = 1910, x = 190 och x = 190) Oavsett vilka punkter jag valt får jag mycket snällare siffror vid centrerad än naiv ansats! Kvadratisk interpolation med Newtons ansats, GNM sid (5)4 - GKN sid15 Ett alternativ till centrering är Newtons fiffiga ansats Koefficienterna bestämssom vanligt med p(x i )=y i Med x 1 = 190, x = 190 och x = 1940 (och y 1 = 481, y = 40 och y = 404) får jag p(x) =c 1 + c (x x 1 )+c (x x 1 )(x x ) p(x) =c 1 + c (x 190) + c (x 190) (x 190) 481 = c 1 + c (190 190) + c (190 190) (190 190) = c 1 40 = c 1 + c (190 190) + c (190 190) (190 190) = c 1 +10c 404 = c 1 + c (1940 190) + c (1940 190) (1940 190) = c 1 +0c + 00 c c 1 = 481 c =1 c = 1405 y(195) = c 1 + c (195 190) + c (195 190) (195 190) = = 481 + 1 5+( 1405) 5 ( 5) = 481 + 105+515 = 4665 A = 1 0 0 Lättlöst ekvationssystem 1 10 0 = κ (A) =0 10 Lågt konditionstal 1 0 00 Återanvändbara koefficienter Hade jag valt x 1 = 190, x = 190, x = 1910 och Newtonsansatshade jag fått p(x) =c 1 + c (x x 1 )+c (x x 1 )(x x ) p(x) =c 1 + c (x 190) + c (x 190) (x 190) 481 = c 1 + c (190 190) + c (190 190) (190 190) = c 1 40 = c 1 + c (190 190) + c (190 190) (190 190) = c 1 +10c 98 = c 1 + c (1910 190) + c (1910 190) (1910 190) = c 1 10 c + 00 c c 1 = 481 c =1 c = 19 y(195) = c 1 + c (195 190) + c (195 190) (195 190) = = 481 + 1 5+( 19) 5 ( 5) = 481 + 105+475 = 465
Eftersom de två första punkterna i ansatsen var desamma blev ekvationerna likadana och koefficienterna därmed oförändrade Från och med den nya punkten får man nya koefficienter Dock är högstagradskoefficienten förstås densamma som vid naiva och centrerade ansatsen och vi känner igen svaret (Numreringen av x i påverkar koefficienternasvärden men inte polynomets!) Hur bra är resultatet?, GNM sid (5)6-7,16-17 - GKN sid 16 E trunk = Skillnaden mellan beräknat polynomvärde och rätta värdet Skillnaden mellan beräknat värde och det man får om man ökar gradtalet med ett första försummade termen i Newtons ansats (Inte vid naiv och centrerad ansats!) Specialfall : vid linjär IP i ekvidistant tabell blir E trunk max y /8 vid kvadratisk IP i ekvidistant tabell blir E trunk max y /15 E tab E y, dvsfelgränsen i de givna tabellvärdena Exempel : vid linjär IP blir E tab = E y, vid kvadratisk IP blir E tab =5/4E y Vårt exempel: Med linjär IP fick vi y(195) = 4915 och med kvadratisk IP fick vi y(195) = 4665 Trunkeringsfelets gränsvid linjär IP skattas då till E trunk = 4915 4665 =515 och osäkerheten pga fortplantade fel i indata till E tab =1 E y =05 Gränsen för beräkningsfelet är svårskattad men klart mindre om vi använt Newtonseller centrerad ansatsän den naiva Eftersom trunkeringsfelets gränsär mycket större än tabelleringsfelets lönar det sig att öka gradtalet hos interpolationspolynomet Runges fenomen, GNM sid (5)9 - GKN sid 19 Polynom av hög grad, speciellt vid ekvidistanta data, kan få kraftigasvängningar i ytterområdena x 1 y 1 k 1 x y k x y k Styckvis interpolation, GKN sid 140 Olika polynom mellan varje punktpar Ett tredjegradspolynom har fyra koefficienter: p 1 (x) =c 1 +c x+c x +c 4 x, x 1 x x p 1 (x 1 )=y 1 p 1 (x )=y p 1 (x 1)=k 1 p 1 (x )=k p (x) =b 1 +b x+b x +b 4 x, x x x p (x )=y p (x )=y p (x )=k p (x )=k Hermites interpolationsformel, GNM sid (5)10 & (5)0 - GKN sid 141 & 171! h i = x i+1 x i c i =(y i+1 y i )/(x i+1 x i ) P (x) =y i + c i (x x i )+ +(x x i )(x x i+1 )((k i+1 c i )(x x i )+(k i c i )(x x i+1 )) /h i 4 1 5 1 6 5 Önskas y(4) blir det x i = y i =4 k i =1 x i+1 =5 y i+1 = k i+1 = 1 = c i =( 4)/(5 ) = 1
Skattningen blir y (x =4): P (4) = 4 + ( 1) (4 ) + (4 )(4 5)((( 1) ( 1))(4 ) + (1 ( 1))(4 5))/( )=184 Vill man skatta y (x =): P () = 4 + ( 1) ( ) + ( )( 5)((( 1) ( 1))( ) + (1 ( 1))( 5))/( )=414 Vill man skatta y(5) måste man beräkna nya värden på h och c eftersom x =5 ligger i nästa intervall Styckvis interpolation - splines, GNM sid (5)1 - GKN sid 14 x y p 1 (x) =a 1 + a x + a x + a 4 x x 1 y 1 p (x) =b 1 + b x + b x + b 4 x 16 sökta x y x y p (x) =c 1 + c x + c x + c 4 x koefficienter! x 4 y 4 p x x x x x 4 (x) =d 1 + d x + d x + d 4 x 1 4 5 x 5 y 5 Givna värden på funktionen i mätpunkterna och kontinuerlig första- och andraderivata ger villkoren p 1 (x 1 )=y 1 p 1 (x )=y p (x )=y p (x )=y p (x )=y p (x 4 )=y 4 p 4 (x 4 )=y 4 p 4 (x 5 )=y 5 p 1(x )=p (x ) p (x )=p (x ) p (x 4 )=p 4(x 4 ) 1(x )= (x ) (x )= (x ) (x 4 )= 4(x 4 ) = 14 villkor Fattas st! De två felande villkoren får (måste) vi alltid välja själva I naturliga (kubiska) splines gör man valet =0 i ytterkanterna, dvsi exemplet ovan skulle de två extra villkoren bli 1 (x 1)=0och 4 (x 5)=0 Ipraktiken Lös ekvationssystemet nedan för k-värdena och använd sedan dessa k-värden i Hermitesinterpolationsformel h 1 h 1 0 0 0 k h (h + h 1 ) h 1 0 0 1 b 1 k 0 h (h + h ) h b k = b 0 0 h n 1 (h n 1 + h n ) h n k n b n 0 0 0 h n 1 h n 1 y 1 om i =1 h där b i = i 1 h i y i + hi h i 1 y i 1 om i =,,,n 1 om i = n y n 1 Styckvis interpolation - nästan splines? Om man vill slippa lösa ekvationssystemet ovan kan man skatta derivatorna med följande formler där N är antalet givna punkter (Detta betyder dock att andraderivatan inte blir kontinuerlig) ( ) ( ) ( ) ( ) ( ) y y 1 y y 1 yi+1 y i 1 yn y N 1 yn y N k 1 = k i = i =,,N 1 k N = x x 1 x x 1 x i+1 x i 1 x N x N 1 x N x N 4 c 014 Ninni Carlsund Levin
Grad Grad Grad Så här blev det utan centrering! 1900 1950 000 Grad 7 1900 1950 000 1900 1950 000 Grad 8 Grad 9 Grad 7 1900 1950 000 6000 5500 5000 4500 500 000 Grad 8 4600 600 Grad 9 500 400 1900 1950 000 1900 1950 000 1900 1950 000 1900 1950 000 1900 1950 000 Hermites gamla interpolationsformel, GNM sid (5)10 (Användsibland i EXS och extentor) h i = x i+1 x i y i = y i+1 y i g i = h i k i y i c i = y i h i (k i + k i+1 ) Såför valfritt t [0, 1] kan vi beräkna x = x i + th i y = y i + t y i + t (1 t) g i + t (1 t) c i 4 1 5 1 6 5 Önskas y(4) blir det h =5 = y = 4= g = 1 ( ) = 4 c = ( ) (1+( 1)) = 4 Vill man skatta y (x =4) : t =(x x i )/h i =(4 )/ =06 y =4+06 ( ) + 06 (1 06) 4+ +06 (1 06) ( 4) = 184 Vill man skatta y (x =) : t =(x x i )/h i =( )/ =01 y =4+01 ( ) + 01 (1 01) 4+ +01 (1 01) ( 4) = 414 Vill man skatta y(5) måste man beräkna nya värden på h, y, g och c eftersom x =5 ligger i nästa intervall c 014 Ninni Carlsund Levin 5