Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz  

obrazek

Autor artykułu: mgr Jerzy Wałaszek

©2026 mgr Jerzy Wałaszek

obrazek

Interpolacja

Interpolacja  funkcjami sklejanymi

SPIS TREŚCI REMANENT
Podrozdziały
 

Algorytm

Interpolacja funkcjami sklejanymi (ang. spline interpolation) polega na przybliżaniu wartości interpolowanej funkcji za pomocą kawałków wielomianów niskiego stopnia (np. sześciennych) zdefiniowanych na poszczególnych podprzedziałach (segmentach) przedziału interpolacji. Jeśli wielomian jest funkcją liniową, otrzymujemy interpolację za pomocą łamanej, co opisuje wcześniejszy rozdział.

Angielska nazwa spline nawiązuje do tzw. krzywek, które dawniej były używane przez inżynierów do rysowania dowolnych krzywych na rysunkach technicznych (w przemyśle okrętowym, lotniczym i motoryzacyjnym).


Zestaw krzywek rysunkowych

Na przykład, jeśli mamy dziesięć węzłów funkcji w przedziale interpolacji, to zamiast dopasowywać do nich wszystkich pojedynczy wielomian dziewiątego stopnia, dopasowujemy dziewięć funkcji sześciennych do kolejnych par węzłów. W takiej interpolacji zwykle otrzymuje się lepsze przybliżenie wartości funkcji (przy odpowiednim rozkładzie węzłów) oraz unika się zjawiska Rungego, które pojawia się przy interpolacji wielomianami wysokich stopni.

Przyjrzyjmy się sposobom konstruowania funkcji sklejanych. Załóżmy, że w przedziale <XS;XE> (XS - początek przedziału [X START], XE - koniec przedziału interpolacji [X END]) dla funkcji y = f(x) mamy 4 różne węzły, które dzielą ten przedział na trzy segmenty 0...2 (jak pokazano poniżej):


Dla każdego segmentu definiujemy osobny wielomian sześcienny Si(x) (zwany również wielomianem kubicznym):

ai, bi, ci oraz di : i = 0,1,2 to współczynniki wielomianu sześciennego, które dla każdego segmentu si mogą być inne i należy je wyznaczyć. x0, x1 i x2 to współrzędne x początków segmentów s0, s1 i s2. Aby wyznaczyć współczynniki wielomianów sześciennych S0(x), S1(x) i S2(x), musimy wykonać kilka założeń.

1. W węźle początkowym i końcowym każdego segmentu przypisany do niego wielomian sześcienny musi mieć wartość równą współrzędnej y tego węzła:

2. Aby wielomiany sześcienne gładko przechodziły jeden w następny na styku segmentów, ich pierwsze pochodne muszą być równe w tych węzłach:

3. To samo dla drugich pochodnych:

4. Dodatkowo zakładamy, iż druga pochodna wielomianu sześciennego na początku pierwszego segmentu i na końcu ostatniego segmentu ma wartość 0. Taki dobór warunków definiuje tzw. naturalną kubiczną funkcję sklejaną (ang. natural cubic spline). Zapewnia to otrzymanie najgładszej krzywej interpolacyjnej, co eliminuje nienaturalne wygięcia na końcach przedziału interpolacji.

Założenia te pozwolą nam ułożyć odpowiednią ilość równań liniowych do wyznaczenia współczynników. W równaniach tych niewiadomymi będą współczynniki ai, bi, ci, di: i = 0,1,2, natomiast wartości wyliczone ze współrzędnych węzłów będą stanowiły wiadome elementy (współczynniki oraz wyrazy wolne) w naszym układzie równań. Współczynników jest 12, zatem musimy mieć 12 równań. Wprowadzone założenia dadzą nam właśnie te 12 równań.

 

 


do podrozdziału  do strony 

Przykładowa implementacja

xxx


do podrozdziału  do strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2026 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.