Kubische Splines Verständnispr < Numerik < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Die Splines sollen von Hand berechnet werden. Hierzu werden zur Vereinfachung nur die ersten fünf Punkte betrachtet.
http://img6.imageshack.us/i/spline.jpg/
x | y
0 | 5
1/2 | 5/2
3/2 | 3/2
Übersichtshalber möchte ich nur 3 Punkte betrachten! |
Hallo, da ich nur 3 Punkte betrachte, habe ich ja nur zwei Teilstücke des Splines.
Ich bin im Grunde wie nach den Vorschriften vom Arndt Brünner vorgegangen.
[mm] S_0(x)=a_0*x^3+b_0*x^2+c_0*x+d_0
[/mm]
[mm] S_1(x)=a_1*x^3+b_1*x^2+c_1*x+d_1
[/mm]
[mm] S_0(\bruch{1}{2})=S_1(\bruch{1}{2})
[/mm]
(I)
[mm] a_0*\bruch{1}{8}+b_0*\bruch{1}{4}+c_0*\bruch{1}{2}+d_0=d_1
[/mm]
[mm] d_1=y_1=\bruch{5}{2}
[/mm]
[mm] d_0=y_0=5
[/mm]
Nun die Stützstellen abgeleitet
[mm] S_0'(x)=3*a_0*x^2+2*b_0*x+c_0
[/mm]
[mm] S_1'(x)=3*a_1*(x-x_1)^2+2*b_1*(x-x_1)+c_1
[/mm]
[mm] S_0'(\bruch{1}{2})=S_1'(\bruch{1}{2})
[/mm]
(II)
[mm] 3*a_0*\bruch{1}{4}+b_0+c_0=c_1
[/mm]
Nun die 2. Ableitung der Stützstellen
[mm] S_0''(x)=6*a_0*x+2*b_0
[/mm]
[mm] S_1''(x)=6*a_1*(x-x_1)+2*b_1
[/mm]
[mm] S_0''(\bruch{1}{2})=S_1''(\bruch{1}{2})
[/mm]
(III)
[mm] 6*a_0*\bruch{1}{2}+2*b_0=2*b_0
[/mm]
[mm] a_0=\bruch{2(b_1-b_0)}{3}
[/mm]
Nun (III) in (II)
[mm] 3*\bruch{2(b_1-b_0}{3}*\bruch{1}{4}+b_0+c_0=c_1
[/mm]
[mm] \bruch{b_1}{2}-\bruch{b_0}{2}+b_0+c_0=c_1
[/mm]
ergibt (IV)
[mm] \bruch{1}{2}*(b_1+b_0)+c_0=c_1
[/mm]
(III) in (I)
[mm] \bruch{2}{3}*(b_1-b_0)*\bruch{1}{8}+\bruch{b_0}{4}+\bruch{c_0}{2}+d_0=d1
[/mm]
[mm] c_0=2(d_1-d_0)-\bruch{b_0}{2}-\bruch{(b_1-b_0)}{6} [/mm] (V)
[mm] c_1=??? [/mm] (V')
Jetzt müsste ich ja noch (V) und (V') in (IV) , also dort [mm] c_0 [/mm] und [mm] c_1 [/mm] einsetzen.
Mir fehlt aber [mm] c_1, [/mm] was habe ich den noch bei den Schritten vergessen?
Kann mir jemand was bis hierhin alles richtig ist bzw. was fehlt bzw. falsch ist?
Grüße,
energizer
|
|
|
|
> Die Splines sollen von Hand berechnet werden. Hierzu werden
> zur Vereinfachung nur die ersten fünf Punkte betrachtet.
>
> http://img6.imageshack.us/i/spline.jpg/
> x | y
> 0 | 5
> 1/2 | 5/2
> 3/2 | 3/2
>
> Übersichtshalber möchte ich nur 3 Punkte betrachten!
>
Beachte dabei aber, dass die Lösung dann nicht damit
übereinstimmen wird, was bei Berücksichtigung von
zwei weiteren Punkten herauskäme !
>
> Hallo, da ich nur 3 Punkte betrachte, habe ich ja nur zwei
> Teilstücke des Splines.
>
> Ich bin im Grunde wie nach den Vorschriften vom Arndt
> Brünner vorgegangen.
>
> [mm]S_0(x)=a_0*x^3+b_0*x^2+c_0*x+d_0[/mm]
> [mm]S_1(x)=a_1*x^3+b_1*x^2+c_1*x+d_1[/mm]
>
> [mm]S_0(\bruch{1}{2})=S_1(\bruch{1}{2})[/mm]
>
> (I)
>
> [mm]a_0*\bruch{1}{8}+b_0*\bruch{1}{4}+c_0*\bruch{1}{2}+d_0=d_1[/mm]
> [mm]d_1=y_1=\bruch{5}{2}[/mm]
wie kommst du auf diese Gleichungen ??
du solltest doch auch in [mm] S_1 [/mm] den Wert 1/2 einsetzen, und nicht Null !
> [mm]d_0=y_0=5[/mm]
>
> Nun die Stützstellen abgeleitet
da leitest du keine Stützstellen ab, sondern du
betrachtest die Ableitungswerte an den Stützstellen !
> [mm]S_0'(x)=3*a_0*x^2+2*b_0*x+c_0[/mm]
> [mm]S_1'(x)=3*a_1*(x-x_1)^2+2*b_1*(x-x_1)+c_1[/mm]
>
> [mm]S_0'(\bruch{1}{2})=S_1'(\bruch{1}{2})[/mm]
>
> (II)
> [mm]3*a_0*\bruch{1}{4}+b_0+c_0=c_1[/mm]
>
> Nun die 2. Ableitung der Stützstellen
>
> [mm]S_0''(x)=6*a_0*x+2*b_0[/mm]
> [mm]S_1''(x)=6*a_1*(x-x_1)+2*b_1[/mm]
>
> [mm]S_0''(\bruch{1}{2})=S_1''(\bruch{1}{2})[/mm]
>
> (III)
> [mm]6*a_0*\bruch{1}{2}+2*b_0=2*b_0[/mm]
Es sieht so aus, als ob du für [mm] S_1 [/mm] ein anderes Koordinatensystem
benützen willst als für [mm] S_0 [/mm] (mit verschobenem Nullpunkt) ...
War das deine Absicht ?
(wenn du das ganz konsequent durchziehst, könnte es sogar
"richtig" herauskommen. Am rechten Endpunkt der Kurve
müsstest du dann in [mm] S_1 [/mm] nicht x=1.5 einsetzen, sondern x=1.
Allerdings hast du dann am Schluss (bei 5 Stützpunkten)
eine Splinefunktion, die in 4 Abschnitte in je unterschiedlichen
Koordinatensystemen zerstückelt ist ... doch eher etwas
unpraktisch, oder ? )
>
> [mm]a_0=\bruch{2(b_1-b_0)}{3}[/mm]
>
> Nun (III) in (II)
>
> [mm]3*\bruch{2(b_1-b_0}{3}*\bruch{1}{4}+b_0+c_0=c_1[/mm]
> [mm]\bruch{b_1}{2}-\bruch{b_0}{2}+b_0+c_0=c_1[/mm]
>
> ergibt (IV)
> [mm]\bruch{1}{2}*(b_1+b_0)+c_0=c_1[/mm]
>
> (III) in (I)
>
> [mm]\bruch{2}{3}*(b_1-b_0)*\bruch{1}{8}+\bruch{b_0}{4}+\bruch{c_0}{2}+d_0=d1[/mm]
>
> [mm]c_0=2(d_1-d_0)-\bruch{b_0}{2}-\bruch{(b_1-b_0)}{6}[/mm] (V)
>
> [mm]c_1=???[/mm] (V')
>
> Jetzt müsste ich ja noch (V) und (V') in (IV) , also dort
> [mm]c_0[/mm] und [mm]c_1[/mm] einsetzen.
>
> Mir fehlt aber [mm]c_1,[/mm] was habe ich den noch bei den Schritten
> vergessen?
> Kann mir jemand was bis hierhin alles richtig ist bzw. was
> fehlt bzw. falsch ist?
>
> Grüße,
>
> energizer
LG Al-Chw.
|
|
|
|
|
Hi Al-Chwarizmi vielen Dank das du dir das angeschaut hast,
ich habe sowieso keine Lösung zu der Aufgabe, von daher reichen mit die 3 Punkte weil es mir ein um die Vorgehensweise geht, wenn ich die dann richtig verstanden hab kann ich das ja für die 5 Punkte wiederholen.
[mm] x_0=0 [/mm]
[mm] y_0=5
[/mm]
[mm] x_1=\bruch{1}{2} [/mm]
[mm] y_1=\bruch{5}{2}
[/mm]
[mm] x_2=\bruch{3}{2} [/mm]
[mm] y_2=\bruch{3}{2}
[/mm]
Ich sehe bei den Stützpunkten fehlt noch was
[mm] S_0(x)=a_0\cdot{}(x-x_0)^3+b_0\cdot{}(x-x_0)^2+c_0\cdot{}(x-x_0)+d_0
[/mm]
für [mm] x_0=0 [/mm]
[mm] S_0(x)=a_0\cdot{}x^3+b_0\cdot{}x^2+c_0\cdot{}x+d_0
[/mm]
für [mm] x_1=\bruch{1}{2}
[/mm]
[mm] S_1(x)=a_1\cdot{}(x-x_1)^3+b_1\cdot{}(x-x_1)^2+c_1\cdot{}(x-x_1)+d_1
[/mm]
[mm] S_1(x)=a_1\cdot{}(x-\bruch{1}{2})^3+b_1\cdot{}(x-\bruch{1}{2})^2+c_1\cdot{}(x-\bruch{1}{2})+d_1
[/mm]
> > (I)
> >
> > [mm]a_0*\bruch{1}{8}+b_0*\bruch{1}{4}+c_0*\bruch{1}{2}+d_0=d_1[/mm]
>
> > [mm]d_1=y_1=\bruch{5}{2}[/mm]
>
> wie kommst du auf diese Gleichungen ??
> du solltest doch auch in [mm]S_1[/mm] den Wert 1/2 einsetzen, und
> nicht Null !
>
Wenn ich nun in [mm] S_1 [/mm] die [mm] \bruch{1}{2} [/mm] einsetze wird alles 0 bis auf [mm] d_1
[/mm]
setz ich nun [mm] S_0 [/mm] und [mm] S_1 [/mm] gleich bekomme ich genau die Gleichung
[mm] a_0*(\bruch{1}{2})^3+b_0*(\bruch{1}{2})^2+c_0*\bruch{1}{2}+d_0=d_1
[/mm]
[mm] a_0*\bruch{1}{8}+b_0*\bruch{1}{4}+c_0*\bruch{1}{2}+d_0=d_1
[/mm]
nach Bruenner steht noch das aus [mm] S_i(x_i)=y_i [/mm] folgt deswegen hatte ich für [mm] d_1=\bruch{5}{2} [/mm] raus
Es sieht so aus, als ob du für $ [mm] S_1 [/mm] $ ein anderes Koordinatensystem
benützen willst als für $ [mm] S_0 [/mm] $ (mit verschobenem Nullpunkt) ...
War das deine Absicht ?
(wenn du das ganz konsequent durchziehst, könnte es sogar
"richtig" herauskommen. Am rechten Endpunkt der Kurve
müsstest du dann in $ [mm] S_1 [/mm] $ nicht x=1.5 einsetzen, sondern x=1.
Allerdings hast du dann am Schluss (bei 5 Stützpunkten)
eine Splinefunktion, die in 4 Abschnitte in je unterschiedlichen
Koordinatensystemen zerstückelt ist ... doch eher etwas
unpraktisch, oder ? )
ne ein anderes Koordinatensystem will ich nicht benutzen woran hast du das den erkannt?
Ist die Vorgehensweise vom Arndt Bruenner falsch? oder hab ich die falsch angewendet mir ist nicht klar was ich nun machen muss?
|
|
|
|
|
> Hi Al-Chwarizmi vielen Dank das du dir das angeschaut
> hast,
>
> ich habe sowieso keine Lösung zu der Aufgabe, von daher
> reichen mit die 3 Punkte weil es mir ein um die
> Vorgehensweise geht, wenn ich die dann richtig verstanden
> hab kann ich das ja für die 5 Punkte wiederholen.
>
> [mm]x_0=0[/mm]
> [mm]y_0=5[/mm]
> [mm]x_1=\bruch{1}{2}[/mm]
> [mm]y_1=\bruch{5}{2}[/mm]
> [mm]x_2=\bruch{3}{2}[/mm]
> [mm]y_2=\bruch{3}{2}[/mm]
>
> Ich sehe bei den Stützpunkten fehlt noch was
> [mm]S_0(x)=a_0\cdot{}(x-x_0)^3+b_0\cdot{}(x-x_0)^2+c_0\cdot{}(x-x_0)+d_0[/mm]
> für [mm]x_0=0[/mm]
> [mm]S_0(x)=a_0\cdot{}x^3+b_0\cdot{}x^2+c_0\cdot{}x+d_0[/mm]
>
> für [mm]x_1=\bruch{1}{2}[/mm]
>
> [mm]S_1(x)=a_1\cdot{}(x-x_1)^3+b_1\cdot{}(x-x_1)^2+c_1\cdot{}(x-x_1)+d_1[/mm]
>
> [mm]S_1(x)=a_1\cdot{}(x-\bruch{1}{2})^3+b_1\cdot{}(x-\bruch{1}{2})^2+c_1\cdot{}(x-\bruch{1}{2})+d_1[/mm]
>
> > > (I)
> > >
> > > [mm]a_0*\bruch{1}{8}+b_0*\bruch{1}{4}+c_0*\bruch{1}{2}+d_0=d_1[/mm]
> >
> > > [mm]d_1=y_1=\bruch{5}{2}[/mm]
> >
> > wie kommst du auf diese Gleichungen ??
> > du solltest doch auch in [mm]S_1[/mm] den Wert 1/2 einsetzen,
> und
> > nicht Null !
> >
> Wenn ich nun in [mm]S_1[/mm] die [mm]\bruch{1}{2}[/mm] einsetze wird alles 0
> bis auf [mm]d_1[/mm]
> setz ich nun [mm]S_0[/mm] und [mm]S_1[/mm] gleich bekomme ich genau die
> Gleichung
>
> [mm]a_0*(\bruch{1}{2})^3+b_0*(\bruch{1}{2})^2+c_0*\bruch{1}{2}+d_0=d_1[/mm]
>
> [mm]a_0*\bruch{1}{8}+b_0*\bruch{1}{4}+c_0*\bruch{1}{2}+d_0=d_1[/mm]
>
> nach Bruenner steht noch das aus [mm]S_i(x_i)=y_i[/mm] folgt
> deswegen hatte ich für [mm]d_1=\bruch{5}{2}[/mm] raus
>
>
>
> Es sieht so aus, als ob du für [mm]S_1[/mm] ein anderes
> Koordinatensystem
> benützen willst als für [mm]S_0[/mm] (mit verschobenem Nullpunkt)
> ...
> War das deine Absicht ?
> (wenn du das ganz konsequent durchziehst, könnte es
> sogar
> "richtig" herauskommen. Am rechten Endpunkt der Kurve
> müsstest du dann in [mm]S_1[/mm] nicht x=1.5 einsetzen, sondern
> x=1.
> Allerdings hast du dann am Schluss (bei 5 Stützpunkten)
> eine Splinefunktion, die in 4 Abschnitte in je
> unterschiedlichen
> Koordinatensystemen zerstückelt ist ... doch eher etwas
> unpraktisch, oder ? )
>
>
> ne ein anderes Koordinatensystem will ich nicht benutzen
> woran hast du das den erkannt?
>
> Ist die Vorgehensweise vom Arndt Bruenner falsch?
Ich habe mir seinen Abschnitt zu kubischen Splines jetzt
angeschaut (andere Seiten von ihm habe ich schon oft
besucht und genutzt). Sein Weg entspricht dem, was ich
mit "konsequent durchziehen" gemeint habe.
Du hast nur den Fehler gemacht, dass du das Polynom [mm] S_1
[/mm]
zuerst (im ersten Beitrag) nicht richtig angegeben hast, nämlich
$\ [mm] S_1(x)\ [/mm] =\ [mm] a_1*x^3+b_1*x^2+c_1*x+d_1$
[/mm]
anstatt
$\ [mm] S_1(x)\ [/mm] =\ [mm] a_1*(x-x_1)^3+b_1*(x-x_1)^2+c_1*(x-x_1)+d_1$
[/mm]
Diese Ersetzung von x durch [mm] (x-x_1) [/mm] (oder umgekehrt) entspricht
einer Verschiebung des Koordinatensystems in x-Richtung.
LG Al-Chw.
|
|
|
|
|
Hi, das war nur ein Tippfehler meinerseits, aber auf dem Blatt Papier hab ich das so aufgeschrieben und trotzdem komme ich nicht auf die Gleichung für [mm] c_1
[/mm]
Ich bin auch konsequent nach dem Schema vorgegangen.
Ich verstehe nicht wie ich auf diese Gleichung kommen soll?
Grüße,
energizer
|
|
|
|
|
> Hi, das war nur ein Tippfehler meinerseits, aber auf dem
> Blatt Papier hab ich das so aufgeschrieben und trotzdem
> komme ich nicht auf die Gleichung für [mm]c_1[/mm]
>
> Ich bin auch konsequent nach dem Schema vorgegangen.
> Ich verstehe nicht wie ich auf diese Gleichung kommen
> soll?
Dir ist schon klar, dass du eventuell nicht direkt eine
Gleichung bekommst, die dir den Wert von [mm] c_1 [/mm] (oder eines
der übrigen Parameter) liefert, sondern dass du im Prinzip
ein lineares Gleichungssystem mit 8 Gleichungen für 8
Unbekannte hast. Schreib dir zuerst mal alle diese 8 Bedingungen
auf:
1.) [mm] S_0(0)=5
[/mm]
2.) [mm] S_0(0.5)=2.5
[/mm]
3.) .....
4.) .....
5.) .....
6.) .....
7.) .....
8.) [mm] S_1''(1.5)=0
[/mm]
setze sie in Gleichungen um und fang dann mit der
Lösung des Systems an. Ob du das dann durch
Umformen und Einsetzen machst oder mittels
Matrizen (Gauß), kannst du entscheiden.
LG Al-Chw.
|
|
|
|