Die spline-Interpolation
Gliederung Hintergrundwissen Die kubische spline-Interpolation Grafische Darstellung an Scilab Praktische Relevanz
1. Hintergrundwissen Warum neues Verfahren? Problem der Interpolation: starke Oszillation an Rändern bei Polynomen hohen Grades erkannt durch Carl David Tolmé Runge (1856-1927) Runge – Funktion: 𝑓 𝑥 = 1 1+𝑥²
deshalb: spline-Interpolation Was ist ein spline? Begriff aus Schiffbau: elastische Holzlatten (engl: spline) so gebogen, dass gewisse Anzahl Knotenpunkte bedeckt wurden
Mathematisch: Kurve, die durch bestimmte Anzahl an Punkten verläuft und diese glatt verbindet Kurve besteht aus Polynomen bei n Stützstellen: n-1 Polynome stückweise Polynom-Interpolation aber: welcher Grad? einfachste Interpolation: stückweise linear Grad 1
Problem?
daher wären Polynome vom Grad 2 die einfachste Lösung , aber: Interpolationsfunktion nicht eindeutig bestimmt nicht genügend Parameter vorhanden, um praktisch relevante Bedingungen vorschreiben zu können deshalb: kubische Polynome
2. Die kubische spline-Interpolation am häufigsten angewendete Interpolationsmöglichkeit Vorteile: 4 freie Parameter garantieren neben stetigen Differenzierbarkeit auch noch eine stetige 2. Ableitung Ableitungen an den Stützstellen gehen nicht in Berechnung mit ein müssen nicht bekannt sein geringes Schwingverhalten
Definition: Es seien eine auf dem Intervall [a,b] definierte Funktion f(x) sowie eine Menge von Stützstellen a=x0<x1<…<xn=b gegeben. Eine kubische Spline-Interpolationsfunktion S(x) für f(x) ist über folgende Bedingungen definiert: S(xj) ist auf dem Intervall [xj,xj+1), j=0,…,n−1, ein kubisches Polynom. Es werde mit Sj x bezeichnet. S(xj)=f(xj) , j=0,…,n Sj+1(xj+1)=Sj(xj+1) , j=0,…,n−2 S′j+1(xj+1)=S′j(xj+1) , j=0,…,n−2 S′′j+1(xj+1)=S′′j(xj+1) , j=0,…,n−2 Eine der folgenden Randbedingungen ist erfüllt: S′′ (x0)=S′′(xn)=0 natürlicher spline S′(x0)= f ′ (x0) , S′(xn)= f ′ (xn) eingespannter spline
Sj x =aj+bj(x−xj)+cj(x−xj)²+dj(x−xj)³ Ansatz: Sj x =aj+bj(x−xj)+cj(x−xj)²+dj(x−xj)³ gesucht sind freie Parameter aj, bj, cj, dj aj ergeben sich sofort aus üblichen Interpolationsbedingungen: Sj xj =aj=f(xj) restlichen Parameter ergeben sich aus den Bedingungen der Definition
es ergeben sich für die anderen Parameter: dj = cj+1 −cj 3hj , j=0,…,n−1 bj= 1 hj aj+1 −aj − hj 3 (2cj+cj+1) , j=0,…,n−1 hj−1cj−1+2 hj−1 +hj cj+hjcj+1= 3 hj aj+1 −aj − 3 h aj−aj−1 , j=1,…,n−1 hj ≙ Schrittweite zwischen xj und xj-1
zur Berechnung der cj bei natürlichen splines muss das Gleichungssystem Ax=b berechnet werden, mit:
Analoges gilt für eingespannten Rand
Warum dieser Ansatz? folgender Ansatz auch möglich? Sj x =aj+bjx+cjx²+djx³
Man bestimme den natürlichen kubischen spline, der Beispielaufgaben: Beispiel 1: Man bestimme den natürlichen kubischen spline, der die folgende Tabelle interpoliert: x 1 2 3 y 10
Allgemeine Vorgehensweise (n. spline): an = f(an) c0 = cn = 0 restliche cj: hj−1cj−1+2 hj−1 +hj hj−1 +hj cj+hjcj+1= 3 hj aj+1 −aj − 3 h aj−aj−1 bj= 1 hj aj+1 −aj − hj 3 (2cj+cj+1) dj = cj+1 −cj 3hj
S0(x)=1+x−x³ S1(x)=1−2(x−1)−3(x−1)²+4(x−1)³ S2(x)=4(x−2)+9(x−2)²−3(x−2)³
interpoliert! Beispiel 2: Berechnen Sie den natürlichen kubischen spline, der f(x)=x4 an den Stellen x0=−1, x1=0 und x2=1 interpoliert!
Allgemeine Vorgehensweise (n. spline): an = f(an) c0 = cn = 0 restliche cj: hj−1cj−1+2 hj−1 +hj hj−1 +hj cj+hjcj+1= 3 hj aj+1 −aj − 3 h aj−aj−1 bj= 1 hj aj+1 −aj − hj 3 (2cj+cj+1) dj = cj+1 −cj 3hj
3. Grafische Darstellung an Scilab
4. Praktische Relevanz Automobilindustrie 3D-Grafiken in Computeranwendungen Holzbearbeitung (Designermöbel, Kunstwerke) Darstellung von Messwerten 3-dimensionale Geländekarten auch im 2-dimensionalen möglich: