Kubischer Spline

Neue Frage »

Bjoern1982 Auf diesen Beitrag antworten »
Kubischer Spline
Hallo,

ich möchte zu den Daten (-1|-2) ; (0|0) ; (1|-1) einen kubischen Spline s berechnen, der die beiden Randbedingungen s'(-1)=4 und s'(1)=-5 erfüllt.

Im Skript wird bei der Konstruktion eines solchen Splines immer von der Beschränkung auf Teilintervall geredet und im Endeffekt wird dann ja nur ein Teil-Spline zwischen zwei der n+1 Stützstellen berechnet.

Muss ich das dann also hier für beide Intervalle von -1 bis 0 und von 0 bis 1 tun, also 2 Splines erstellen und diese dann irgendwie verknüpfen oder wie läuft das ab ?

Gruß Björn
tigerbine Auf diesen Beitrag antworten »
RE: Kubischer Spline
Gibt es auch einen Workshop drüber. Läuft auf eine Tridiagonalmatrix raus.

Ein Spline besteht aus Restriktionen, das sind die Polynome auf den Teilintervallen. Was muss denn für deine beiden Restriktionen gelten?
Bjoern1982 Auf diesen Beitrag antworten »

Was meinst du damit ?

Dass für das 1. Intervall s'(-1)=4 und für das 2. Intervall s'(1)=-5 gelten muss ?
tigerbine Auf diesen Beitrag antworten »

Nein. Ich meine:

Zitat:



Stetigkeits- und Glattheitsbedingungen

Es sollen folgende Bedingungen erfüllt sein:










____________________________________________________



Da insgesamt 4n Freiheitsgrade vorhanden sind, müssen noch 2 Bedingungen hinzugefügt werden, um Eindeutigkeit zu erhalten.



Das sollst du mal für deine Intervalle aufschreiben.
Bjoern1982 Auf diesen Beitrag antworten »

Ich kann damit im Moment nicht so viel anfangen, melde mich aber wieder wenn ich es kann Augenzwinkern

Ich finde ähnliches weder im Skript noch kann ich zuordnen zu was das genau gehört (Notationen etc.)
Dafür muss ich wohl nochmal genau im Workshop gucken wie das alles zusammenhängt.

Gute Nacht Wink
tigerbine Auf diesen Beitrag antworten »

Mach das. Dafür hab ich ihn ja geschrieben. Wink Die Vorgabe von Ableitungen an den äußeren Intervallpunkten entspricht dem vollständigen Spline. Hier dann mal das Ergebnis zum vergleichen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
Es wird ein kubischer Spline berechnet. Spezifizierung folgt.
 
Beachte: Der Datensatz hat die Form
         Knoten:           t_0 ,...,  t_n
         Funktionswerte: f(t_0),...,f(t_n)
 
Knotenpunkte eingeben:   [-1,0,1]
Funktionswerte eingeben: [-2,0,-1]
 
n =
     2
------------------------------------------------------------------------------
Berechnung der Deltas dt_0,...,dt_n-1
dt =
     1     1
 
Berechnung der Deltas df_0,...,df_n-1
df =
     2    -1
 
Berechnung der Brüche df0/dt0,...,df_n-1/dt_n-1
dfdt =
     2    -1
 
 
 
Berechnung der Betas   b_1,...,b_n-1
b =
     1
 
Berechnung der Alphas  a_1,...,a_n-1 (vorläufig)
a =
     4
 
Berechnung der Gammas  c_1,...c_n-1
c =
     1
 
Berechnung der rs      r_1,...,r_n-1 (vorläufig)
r =
     3
 
------------------------------------------------------------------------------
Bitte wählen: 0 - natürlicher Spline
              1 - vollst. Spline
 
Deine Wahl: 1
Bitte s_0 eingeben: 4
Bitte s_n eingeben: -5
------------------------------------------------------------------------------
 
Berechnung der Alphas  a_1,...,a_n-1 (vollst. Spline)
a =
     4
 
Berechnung der rs      r_1,...,r_n-1 (vollst. Spline)
r =
     4
 
Aufstellen der Matrix M
M =
     4
 
Berechnung der Lösung s von Ms=r: s_1,...,s_n-1
     1
 
Der komplette Vektor s: 
s =
     4     1    -5
 
Matrix der Restriktionen in Newton-Darstellung
RN =
    -2     4    -2     1
     0     1    -2    -2

RM =
     0     1     0     1
     0     1     0    -2
 


[attach]9308[/attach]
 
 
Bjoern1982 Auf diesen Beitrag antworten »

Hallo Wink

Die Aufgabe wurde heute vorgerechnet und man bezog sich auf die Folien 43 und 44 aus dem Skript (siehe Anhang)
Das ging dann alles relativ fix, da man durch das modifizierte Tableau auf Folie 43 eigentlich nur noch v1, also f '(0) berechnen musste, also im Prinzip die Gleichung 4*v1=b1 lösen muss.
Auf Folie 44 unten über Satz 2.21 steht auch wie man auf dieses b1 kommt, nur ich komme irgendwie nie auf 4 sondern immer auf -1 und ich habe nich genau mitbekommen wie das berechnet wurde traurig

Ich weiss das ist doof für dich sich jetzt nochmal in andere Ansätze und Notationen einzulesen aber vielleicht hast du ja doch kurz Lust dazu Augenzwinkern
Es geht ja im Prinzip nur um das b1.

Gruß Björn
tigerbine Auf diesen Beitrag antworten »

Ich geh nun erstmal eine Runde Schläfer Wenn ich nachher Lust habe, schaue ich mal in den Anhang. Augenzwinkern

Ergänzt du noch deine Rechnung bei der IP aufgabe mit Aitken? Wink
Bjoern1982 Auf diesen Beitrag antworten »

Zitat:
Ergänzt du noch deine Rechnung bei der IP aufgabe mit Aitken? Wink


Werde ich tun, ist nicht vergessen - bin im Moment nur etwas lahm bzw gestresst, ich armer Junge Big Laugh
tigerbine Auf diesen Beitrag antworten »

Eine Runde Mitleid ROFL wie lauten denn die Restriktionen, die ihr ermittelt habt (also die Teilpolynome)
Bjoern1982 Auf diesen Beitrag antworten »

Naja es wurden eigentlich nur für i=1 und i=2 die beiden Tableaus analog zur Folie 43 oben angeschrieben und mit berechnetem v1 konnte man ja s1 und s2 ablesen, was sich mit deiner Monomdarstellung deckte.
tigerbine Auf diesen Beitrag antworten »

Ok. Kannst du nun mal selbst formulieren, wie sich die 8 nötigen Bedingungen für die Splines ergeben.
Bjoern1982 Auf diesen Beitrag antworten »

Bezogen auf Folie 42 unten wären das dann:















tigerbine Auf diesen Beitrag antworten »

da du v1 nicht kennst, reicht das nicht. es fehlt eine bedigung
Bjoern1982 Auf diesen Beitrag antworten »

Du spielst auf die 2. ABleitung, also die Krümmungseigenschaften an ?

tigerbine Auf diesen Beitrag antworten »

genau das tue ich. nun stell mal das schema auf

Zitat:
Algorithmus zur Spline Berechnung

Ähnlich wie beim quadratischen Spline hat man bei der Berechnung wie folgt vorzugehen:

1. Aufstellen der Hermite-Newton-Form der Restriktionen und






Dabei bestimmt man die Koeffizienten (dividierte Differenzen) mit dem Neville-Hermite-Schema und setzt für die ersten Ableitungen die Variable . Damit sind die Bedingungen (1)-(3) umgesetzt.







2. Gleichsetzen von (4) führt dann wieder auf ein LGS zur Bestimmung der Werte . Dabei ist die erzeugte Matrix wieder tridiagonal, diesmal aber strikt Zeilen-diagonaldominant. Daher ist auch diese Matrix regulär und das LGS eindeutig lösbar.

3. Mit den vorgegebenen Werten und können die Restriktionen eindeutig bestimmt werden.
Bjoern1982 Auf diesen Beitrag antworten »

Ich kann das gerne versuchen, entsprechen dann den Interpolationspolynomen nach dem Newton Schema OHNE Berücksichtigung der Ableitungen (Randbedingungen), richtig ?

Dann muss ich das ganze zweimal ableiten, die 2. Ableitungen gleichsetzen und komme damit dann irgendwie auf mein v1, also f '(0) ?

Wird sich dann am Ende auch auflösen wie das mit dem b1 (bei dir r1) im Skript zusammenhängt oder ist das jetzt nur zum Verständnis nach deinem Ansatz bzw deiner Herleitung ?
tigerbine Auf diesen Beitrag antworten »

Wenn ich das in Punkt 1 schon Newton-Hermite nenne, wird wohl mehr dahinter stecken, oder? Schon erkennbar an den Doppelknoten. Augenzwinkern

Füll es doch einfach mal mit Zahen, sind hier doch nur 2 Restriktionen.
tigerbine Auf diesen Beitrag antworten »
RE: Kubischer Spline
Zitat:
Original von Bjoern1982

ich möchte zu den Daten (-1|-2) ; (0|0) ; (1|-1) einen kubischen Spline s berechnen, der die beiden Randbedingungen s'(-1)=4 und s'(1)=-5 erfüllt.



code:
1:
2:
3:
4:
5:
6:
7:
8:
9:

 t     | -1  |  0  |  1
---------------------------
f(t)  |  -2  |  0  |  -1
---------------------------
f'(t) |   4  |  s1 |  -5
---------------------------
f''(t)|      |   = |    


Da ich in einem anderen Thread auch um eine Rechnung gebeten wurde, werde ich es hier tun. Denn hier sind es nur 2 Restriktionen und ja, von Hand ist das lästig und ich hab da auch lange dran gesessen. Deswegen verwendet wohl jeder Autor eigene Kürzel um die Tableaus übersichtlich zu halten.

Zitat:
1. Aufstellen der Hermite-Newton-Form der Restriktionen und






Zitat:
Dabei bestimmt man die Koeffizienten (dividierte Differenzen) mit dem Neville-Hermite-Schema und setzt für die ersten Ableitungen die Variable . Damit sind die Bedingungen (1)-(3) umgesetzt.






Zitat:
2. Gleichsetzen von (4) führt dann wieder auf ein LGS zur Bestimmung der Werte . Dabei ist die erzeugte Matrix wieder tridiagonal, diesmal aber strikt Zeilen-diagonaldominant. Daher ist auch diese Matrix regulär und das LGS eindeutig lösbar.


Das führt dann auf:



Und wir sind fertig, da s0 und s2 bereits bekannt sind.
Bjoern1982 Auf diesen Beitrag antworten »

Dank dir bine ich habe es gestern Nacht noch in deinem Workshop und in meinem Skript nachvollzogen und in auch auf s1=1 gekommen.

Den Weg einmal so ausführlich gemacht zu haben ist auf jeden Fall mal sehr aufschlussreich, da in meinem Skript ja eh schon eine entsprechende Formel bzw LGS hergeleitet worden ist, muss man das eigentlich nur noch berücksichtigen um auf die entsprechenden v_i bzw s_i zu kommen.

Um mein Problem nochmal zu schildern:

Analog zur Folie 44 Mitte bzw direkt über dem Satz 2.21 stand eine Formel um mein b1 zu berechnen. Ich berechnete es für den mittleren Fall i=1, was mich zu 3(2-1)-4=-1 führte.
Jedoch muss man zudem wohl gleichzeitig den unteren Fall i=n-1=2-1=1 betrachten, wodurch man zu -1-(-5)=-1+5=4 gelangt, auf was ich auch kommen wollte Augenzwinkern

Zusatzfrage:

Kennst du dich auch mit "not-a-knot" Bedingungen aus, die häufig genau dann zum Einsatz kommen wenn die Ableitungen der Randwerte nicht bekannt sind ?
tigerbine Auf diesen Beitrag antworten »

Zitat:
Original von Bjoern1982
Zusatzfrage:

Kennst du dich auch mit "not-a-knot" Bedingungen aus, die häufig genau dann zum Einsatz kommen wenn die Ableitungen der Randwerte nicht bekannt sind ?


Kommt mir eher aus dem Ansatz über B-Splines bekannt vor, wo man das Gitter dann entsprechend erweitern muss. Da diese Punkte keine Knoten sind heißt es dann "not-a-knot" Bedingung. Steht auch im Workshop, alternativ wählt man bei a und b Mehrfachknoten.

Man könnte es auch bei quadr. Splines so betiteln, da man ja nicht in den Knoten interpoliert.

Was du jetzt damit meinst, dass die Ableitung nicht bekannt ist, weiß ich nicht. Da musst du konkreter werden. Irgendwie müssen die 2 fehlenden Bedingungen ja vorher festgelegt werden.
Bjoern1982 Auf diesen Beitrag antworten »

Ich habe die entsprechende Aufgabe mal angehängt.

Statt der 2. Ableitungen habe ich dann die 3. Ableitungen gleich gesetzt was mich durch die äquidistante Unterteilung dann letztendlich auf eine obere Dreiecksmatrix mit und (sonst 0) führte.
Die Determinante ist folglich 1, also ungleich null, wodurch das LGS in jedem Fall eindeutig lösbar ist.

Durch Gleichsetzen der 3. Ableitungen erhielt ich (mit äquidistanter Unterteilung)



Kommt das so hin ?
tigerbine Auf diesen Beitrag antworten »

Also dieses Vorgehen ist mir neu, aber man schafft wieder 2 fehlende Bedingungen, also warum nicht. Ich werde das später mal durchrechnen.
tigerbine Auf diesen Beitrag antworten »

Ok, also ich will es mal versuchen. Wie kann man diese beiden Bedingungen in das System einarbeiten? Dabei sollte aber die Äquidistanz nicht die entscheidende Rolle spielen, daher verzichte ich darauf.

Wir haben das LGS (strikt diagonaldominat), worin die 4n-2 Bedingungen umgesetzt sind. s steht für die ersten Ableitungen, r sind die Funktionswerte:



Schauen wir uns die ersten beiden Restriktionen an:





















Das setzt man nun in die Gleichung ein, um dann das neue LGS zu bekommen:









Nun den ganzen Spass noch für s_n.













Zum Test auf Dominanz habe ich nun keine Lust mehr. Hast du eine Beipsielaufgabe, sprich einen solchen Spline schon mal berechnet?
Bjoern1982 Auf diesen Beitrag antworten »

Vielen Dank für deine Mühe, es deckt sich im Wesentlichen mit meinen Überlegungen.
Ich werde dann nochmal in der Übung fragen wie die Matrix dann mit äquidistanter Unterteilung aussieht, aber ich bin mir eigentlich relativ sicher dass das so passt.

Leider habe ich keine Beispielaufgabe parat...

Viele Grüße smile
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »