TU Wien:Analysis 2 UE (diverse)/Übungen SS23/Beispiel 422

Aus VoWi
Zur Navigation springen Zur Suche springen

Wie lautet die natürliche kubische Splinefunktion, welche die Wertepaare aus der vorhergehenden Aufgabe interpoliert? Man vergleiche die Funktionswerte für x=1,3,5 mit denen des kubischen Interpolationspolynoms.

Dieses Beispiel hat einen unbekannten Lösungsstatus. Bitte editiere diese Seite und schreibe den dir bekannten Status ins Beispiel. Die möglichen Werte sind hier: Vorlage:Beispiel dokumentiert. Führe folgende Änderung durch:
{{Beispiel|1=
Angabetext
}}

oder

{{Beispiel|
Angabetext
}}

zu (im Falle einer korrekten, unverifizierten Lösung "solved". Auch möglich "unsolved", "wrong", "verified_by_tutor". Alle möglichen Werte sind hier: Vorlage:Beispiel dokumentiert.)

{{Beispiel|status=solved|1=
Angabetext
}}


Lösungsvorschlag

[Bearbeiten | Quelltext bearbeiten]

Die Wertepaare aus der vorherigen Aufgabe lauten: (0,180), (2,240), (4,320) und (6,360). (x0=0,x1=2,x2=4,x3=6).

Nun wird für jeden Teilintervall das Splinepolynom konstruriert.
S1(x)=a1+b1⋅(x−x1)+c1⋅(x−x1)2+d1⋅(x−x1)3=a1+b1⋅(x−2)+c1⋅(x−2)2+d1⋅(x−2)3S2(x)=a2+b2⋅(x−x2)+c2⋅(x−x2)2+d2⋅(x−x2)3=a2+b2⋅(x−4)+c2⋅(x−4)2+d2⋅(x−4)3S3(x)=a3+b3⋅(x−x3)+c3⋅(x−x3)2+d3⋅(x−x3)3=a3+b3⋅(x−6)+c3⋅(x−6)2+d3⋅(x−6)3

Um die Koffizienten aj,bj,cj,dj zu bestimmen werden für jedes Polynom 4 Bedingungen benötigt. Grundvoraussetzung ist das die Endpunkte der Intervalle übereinstimmen. Dadurch bekommen wir jeweils 2 Bedinungen:
S1(x0)=y0a1+b1⋅(−2)+c1⋅4+d1⋅(−8)=180S1(x1)=y1a1+b1⋅0+c1⋅0+d1⋅0=240a1=240S2(x1)=y1a2+b2⋅(−2)+c2⋅4+d2⋅(−8)=240S2(x2)=y2a2+b2⋅0+c2⋅0+d2⋅0=320a2=320S3(x2)=y2a3+b3⋅(−2)+c3⋅4+d3⋅(−8)=320S3(x3)=y3a3+b3⋅0+c3⋅0+d3⋅0=360a3=360

Weiters müssen die Splines an den inneren Stützstellen (2,240), (4,320) zweimal stetig differenzierbar sein:
S1′(x1)=S2′(x1)b1+2c1⋅(x1−2)+3d1⋅(x1−2)2=b2+2c2⋅(x1−4)+3d2⋅(x1−4)2b1+2c1⋅0+3d1⋅0=b2+2c2⋅(−2)+3d2⋅4b1=b2−4c2+12d2S1″(x1)=S2″(x1)2c1+6d1⋅(x1−2)=2c2+6d2⋅(x1−4)2c1+6d1⋅0=2c2+6d2⋅(−2)2c1=2c2−12d2⋅S2′(x2)=S3′(x2)b2+2c2⋅(x2−4)+3d2⋅(x2−4)2=b3+2c3⋅(x2−6)+3d3⋅(x2−6)2b2+2c2⋅0+3d2⋅0=b3+2c3⋅(−2)+3d3⋅4b2=b3−4c3+12d3S2″(x2)=S3″(x2)2c2+6d2⋅(x2−4)=2c3+6d3⋅(x2−6)2c2+6d2⋅0=2c3+6d3⋅(−2)2c2=2c3−12d3

Nun fehlen uns noch die Randbedingungen, da wir einen natürlichen Spline suchen wählen wir einen freien Rand und kommen auf unsere letzten beiden Bedingungen:
S1″(x0)=02c1+6d1⋅(x0−2)=02c1−12d1=0S3″(x3)=02c3+6d3⋅(x3−6)=02c3+6d3⋅0=02c3=0c3=0

Gleichungungsystem

[Bearbeiten | Quelltext bearbeiten]

Nun haben wir bereits 4 der gesuchten Koeffizienten:
a1=240,a2=320,a3=360,c3=0

Für die restlichen 8 Koeffizienten bauen wir hier das Gleichungsystem auf (−20040−8000−20040−8000−20000−81−10040−1200002−2012001−10000−1200002001200020−1200)(b1b2b3c1c2d1d2d3)=(−60−80−4000000)

Lösung mittels Octave:
octave:4> A = [-2,0,0,4,0,-8,0,0;
0,-2,0,0,4,0,-8,0;
0,0,-2,0,0,0,0,-8;
1,-1,0,0,4,0,-12,0;
0,0,0,2,-2,0,12,0;
0,1,-1,0,0,0,0,-12;
0,0,0,0,2,0,0,12;
0,0,0,2,0,-12,0,0];
octave:5> b = [-60;-80;-40;0;0;0;0;0];
octave:6> x = A \ b
x =

  38.0000
  32.0000
  14.0000
   6.0000
  -9.0000
   1.0000
  -2.5000
   1.5000

Die restlichen Koeffizienten sind also:
b1=38,b2=32,b3=14,c1=6,c2=−9,d1=1,d2=−2.5,d3=1.5

Die Spline Polynome mit eingesetzten Werten lauten also:
S1(x)=240+38⋅(x−2)+6⋅(x−2)2+(x−2)3S2(x)=320+32⋅(x−4)−9⋅(x−4)2−2.5⋅(x−4)3S3(x)=360+14⋅(x−6)+1.5⋅(x−6)3

Gezeichnet sehen die Splines folgendermaßen aus: Plot der Splines (WolframAlpha)

Oder so: Datei:TU Wien-Analysis 2 UE (diverse)-Übungen SS12-Beispiel 71 - Spline 71.pdf

Überprüfung der Punkte x=1,3,5
240+38⋅(1−2)+6⋅(1−2)2+(1−2)3=207
320+32⋅(3−4)−9⋅(3−4)2−2.5⋅(3−4)3=281.5
360+14⋅(5−6)+1.5⋅(5−6)3=344.5

Spline-Interpolation (Wikipedia)