8 Řešení Lagrangeovy a Hermiteovy úlohy interpolace 1 INTERPOLAČNÍ POLYNOM aproximace zadaných hodnot nebo hledané funkce f funkcí F (x) (polynomem) F musí být k f co nejblíže značení: P (n) množina všech polynomů stupně n ÚLOHA LAGRANGEOVY INTERPOLACE značení: x 0, x 1,, x n y 0, y 1,, y n F (x) P (n) vzájemně různé body (uzly) dané hodnoty hledaná funkce (polynom nebo funkce vytvořená z polynomů), pro kterou platí F (x i ) = y i, i = 0, 1,, n interpolační polynom v Newtonově tvaru: N(x) = a 0 + a 1 (x x 0 ) + a n (x x 0 ) (x x 1 ) (x x n1 ), kde a 0, a 1,, a n jsou koeficienty splňující soustavu rovnic a 0 = y 0 a 0 + a 1 (x 1 x 0 ) = y 1 a 0 + a 1 (x x 0 ) + a (x x 0 )(x x 1 ) = y a 0 + a 1 (x n x 0 ) + + a n (x n x 0 ) (x n x n1 ) = y n Řešení lze popsat rekurzivním způsobem pomocí poměrných diferencí prvního, druhého, n-tého řádu výpočet pomocí tabulky poměrných diferencí si ukážeme na cvičení ÚLOHA HERMITEOVY INTERPOLACE značení: x 0, x 1,, x n y 0, y 1,, y n y 0, y 1,, y n F (x) P (n+1) vzájemně různé body (uzly) dané hodnoty dané hodnoty první derivace hledaná funkce (polynom nebo funkce vytvořená z polynomů), pro kterou platí F (x i ) = y i F (x i ) = y i, i = 0, 1,, n interpolační polynom v zobecněném Newtonově tvaru (Hermiteův interpolační polynom): H(x) = a 0 + a 1 (x x 0 ) + a n (x x 0 ) (x x 1 ) (x x n1 ), kde a 0, a 1,, a n jsou koeficienty splňující soustavu rovnic (stejnou jako výše), přičemž každý uzel se v dané soustavě objevuje dvakrát a poměrné diference tvaru 0 jsou nahrazeny zadanými derivacemi 0
8 Řešení Lagrangeovy a Hermiteovy úlohy interpolace Příklad 1 Pro zadané hodnoty sestrojte a) interpolační polynom v Newtonově tvaru, b) Hermiteův interpolační polynom i 0 1 x i 0 1 3 y i 1 0 16 y i -1-9 y 10 5 0 5 10 15 N(x) H(x) Řešení 00 05 10 15 0 5 30 x
8 Řešení Lagrangeovy a Hermiteovy úlohy interpolace 3 Příklad Hodnotu 3 105 aproximujte hodnotou a) interpolačního polynomu v Newtonově tvaru, b) Hermiteova interpolačního polynomu funkce f(x) = 3 x v uzlech x 0 = 1 a x 1 = 1 V obou případech určete absolutní chybu aproximace Zaokrouhlujte na 6 desetinných míst a) Úloha Lagrangeovy interpolace, interpolační polynom v Newtonově tvaru: i x i y i y(x i, x i+1 ) interpolační polynom v Newtonově tvaru: 0 1 1 106659 1 = 0313395 1 1 1 1 106659 N(x) = 1 + 0313395 (x 1) N(105) = 1 + 0313395 (105 1) = 1015665 3 105 = 1016396 odhad absolutní chyby: N(105) 3 105 = 731 10 b) Úloha Hermiteovy interpolace, interpolační polynom v zobecněném Newtonově tvaru: f(x) = 3 x f (x) = 1 3 x 3 i x i y i y(x i, x i+1 ) y(x i, x i+1, x i+ ) y(x 0, x 1, x, x 3 ) 0 1 1 f (1) = 0333333 1 1 1 106659 1 = 031395 1 1 1 106659 f (1) = 095183 3 1 106659 031395 0333333 = 010019 1 1 095183 031395 = 009056 1 1 009056 + 010019 1 1 = 00815 Hermiteův interpolační polynom v zobecněném Newtonově tvaru: H(x) = 1 + 0333333(x 1) 010019(x 1) + 00815(x 1) (x 1) H(105) = 1 + 0333333(105 1) 010019(105 1) + 00815(105 1) (105 1) = 1016398 3 105 = 1016396 odhad absolutní chyby: H(105) 3 105 = 199 10 6
8 Řešení Lagrangeovy a Hermiteovy úlohy interpolace Řešený příklad z praxe Nákladní trajekt spojující pevninu s ostrovem má maximální kapacitu 1 000 osobních vozů, ovšem nakládka vozů blížící se maximální kapacitě je časově velmi náročná K dispozici máme tabulku s počty aut naloženými v daném čase Odhadněte, kolik vozů bylo naloženo za 1 hodinu, použitím a) interpolačního polynomu v Newtonově tvaru, b) Hermiteova interpolačního polynomu Řešení a) interpolační polynom v Newtonově tvaru čas [hod] 05 07 09 11 y 5 585 689 768 y 73 590 53 30 Zdroj: [1] i x i y i y(x i, x i+1 ) y(x i, x i+1, x i+ ) y(x 0, x 1, x, x 3 ) 0 05 5 1 07 585 09 689 3 11 768 665 50 395 50 3 65 Newtonův interpolační polynom: N(x) = 5 + 665 (x 05) = 50 3 x3 10 N(1) = 5851 8 = 73130 b) Hermiteův interpolační polynom x + 7315 6 (x 05) (x 07) + 50 3 x 69 8 (x 05) (x 07) (x 09) = i x i y i 0 05 5 1 05 5 07 585 3 07 585 09 689 5 09 689 6 11 768 7 11 768 73 665 590 50 53 395 30-390 -3-350 -335-90 - 15 15 65 15 65 3 6 5 3 18 315 36 33 36 36169 5
8 Řešení Lagrangeovy a Hermiteovy úlohy interpolace 5 Hermiteův interpolační polynom: H(x) = = 36169 5 H(1) = 1007 19 = 731865 x 7 + 379051 50 x 6 116768 7 x 5 + 39985 x 70177 5 x 3 + 8031 15 x 3171 5 x + 17 15 Poznámka k výsledkům Pokud víme, že lze počet naložených vozů v čase t vyjádřit vztahem f(t) = 1 000 t t + e t, porovnejte odhadnuté počty naložených aut za 1 hodinu se skutečnou hodnotou: t [hod] 1 N(t) 73130 H(t) 731865 f(t) 7310586 Pozn Zajímají nás odhady počtů naložených aut po zaokrouhlení se odhady neliší od hodnoty spočítané ze zadané funkce Počet naložených aut během 1 hodiny je tedy 731 Zdroj: [1] https://czdepositphotoscom/87003778/stock-illustration-cargo-ship-with-containershtml (listopad 018) Kateřina Konečná/verze: 5 XI 018