probleme bei kubischer spline-interpolation...

Neue Frage »

k-borst Auf diesen Beitrag antworten »
probleme bei kubischer spline-interpolation...
hallo.
ich bin heute auf ein problem gestoßen, wo ich einfach nicht weiter komme. Hilfe
ich muss für meine facharbeit eine kubische spline-interpolation durchführen. leider weiß ich nicht, wie ich die funktionen rauskriege, wenn ich diskrete punkte habe.
nehmen wir (nur als beispiel zur demonstration meines problems) drei punkte. da ist doch schon eine kubische spline interpolation durchführbar, oder?
p1(2/4), p2 (4/2) und p3 (8/7).
um diese drei punkte zu verbinden, brauche ich zwei funktionen dritten grades:
f1(x)=a1*x^3 + b1*x^2 + c1*x + d1
f2(x)=a2*x^3 + b2*x^2 + c2*x + d2


also hab ich acht unbekannte. ich finde aber nur sechs bedingungen, die zutreffen.

1. f1(2)=4
2. f1(4)=2
3. f2(4)=2
4. f2(8)=7
5. f1'(4)=f2'(4)
6. f1''(4)=f2''(4)

doch das reicht natürlich nicht, um die unbekannten rauszukriegen. wo steckt mein fehler, könnt ihr mir helfen??
vielleicht reicht ja nur ein kleiner denkanstoß Augenzwinkern
vielen dank schonmal im voraus, k-borst
etzwane Auf diesen Beitrag antworten »

Du kannst bei den beiden äußersten Punkten noch f' vorgeben oder eben f''=0, d.h. die Splines "haben dort keine Krümmung mehr" (das kann man sicherlich noch besser ausdrücken ...).

EDIT: Schreibfehler korrigiert
k-borst Auf diesen Beitrag antworten »

smile
vielen herzlichen dank. ich hab zwar noch nicht verstanden, warum die zweite ableitung in den äußeren punkten 0 sein muss und auch nicht, warum man f1''(4)=f2''(4) setzen kann, aber das erklärt mir ja vielleicht noch mal ein helles köpfchen Augenzwinkern
jedenfalls komm ich jetzt sogar auf die gesuchten funktionen (f1(x)=3/32*x^3 - 9/16*x^2 - 1/4*x + 6 und f2(x)=- 3/64*x^3 + 9/8*x^2 - 7*x + 15) und das ist doch schon mal ein großer fortschritt Freude
nochmals vielen dank für die schnelle hilfe!

Zitat:
Original von etzwane
[...] Das kann sicherlich noch besser ausdrücken ...

ach ja, den satz peil ich nicht so ganz...
mfg, k-borst
etzwane Auf diesen Beitrag antworten »

Zitat:
Original von k-borst
.... ich hab zwar noch nicht verstanden, warum die zweite ableitung in den äußeren punkten 0 sein muss ...


Die 2. Ableitung muss dort nicht 0 sein, aber kann. Nimm mal ein dünnes elastisches Lineal und versuche, das zu biegen. Was beobachtest du normalerweise für die Krümmung an den Enden ?
Rac00n Auf diesen Beitrag antworten »

wie sieht es aus wenn ich 4 punkte habe ? was muss ich da denn noch verändern ? wie viele bedingungen brauch ich da ?
Bernard Langer Auf diesen Beitrag antworten »

nochmal ne Frage zu dem Thema ... Wenn ich die erste Ableitung von einem X-Wert (Anfags oder Endpunkt) nehme kommt immer Null raus?
 
 
Frooke Auf diesen Beitrag antworten »

Nein warum sollte es denn?
Bernard Langer Auf diesen Beitrag antworten »
RE: probleme bei kubischer spline-interpolation...
Zitat:
Original von k-borst


1. f1(2)=4
2. f1(4)=2
3. f2(4)=2
4. f2(8)=7
5. f1'(4)=f2'(4)
6. f1''(4)=f2''(4)



Ich habe dies Bedingungen + diese hier:
f1''(2)=0
f''2(8)=0

Nun ist meine Frage dazu: Wie muss ich die Gleichungen in die Matrix schreiben?
Muss ich entweder alle 8 Bedingungen in ein System schreiben (was mir sehr komisch vorkommt da zb a1 und a2 unterschiedliche Werte sind)?
Oder muss ich zwei Matrizen bilden und wenn dies der Fall ist, welche Bedingungen muss ich in welche Matrix eingeben?

Mfg Bernard Langer
tigerbine Auf diesen Beitrag antworten »
Nachtrag.
Zitat:
Original von k-borst

also hab ich acht unbekannte. ich finde aber nur sechs bedingungen, die zutreffen.


Das ist kein Fehler. Das sind gerade die beiden Freiheitsgrade, die bei einem Kubischen Spline auftreten. Allgemein hat man n Teilintervalle, benötigt also 4n Bedingungen, die (üblichen) Interpolations- und Glattheitsforderungen (inneren Knoten) liefern aber nur 4n-2 Bedingungen.

Klassische Varianten sind natürlicher, periodischer oder vollständiger kubischer Spline. Aber du kannst dir auch eigene Bedingungen überlegen, die "deinem Problem - Modellierungsmodell" zuträglicher sind. Augenzwinkern

[attach]9063[/attach]
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:
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,4,8]
Funktionswerte eingeben: [4,2,7]
 
n =
     2
-----------------------------------------------------------------------------
 
Matrix der Restriktionen in Newton-Darstellung
RN =
    4.0000   -1.0774    0.1369    0.0456
    2.0000    0.1548    0.2738   -0.0342
 
Matrix der Restriktionen in Monom-Darstellung: 1,x,x²,x³
RM =
    5.0317   -0.9405   -0.1369    0.0456
   10.1429   -4.7738    0.8214   -0.0342
 


Zitat:
Bernhard Langer
Nun ist meine Frage dazu: Wie muss ich die Gleichungen in die Matrix schreiben?
Muss ich entweder alle 8 Bedingungen in ein System schreiben (was mir sehr komisch vorkommt da zb a1 und a2 unterschiedliche Werte sind)?
Oder muss ich zwei Matrizen bilden und wenn dies der Fall ist, welche Bedingungen muss ich in welche Matrix eingeben?


Die Bedingungen werden in einer Matrix umgesetzt. Diese hat Tridiagonalgestalt.
Neue Frage »
Antworten »



Verwandte Themen

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