Autor |
Beitrag |
Tina
| Veröffentlicht am Freitag, den 20. Juli, 2001 - 19:02: |
|
Hallo ihr Mitstreiter, ich soll die Interpolationsfuntion, die durch die gegeben Punkte (0,-1), (1,3), (2,1) und (3,2) gehen soll, mit der natürlichen kubischen Spline-Funktion errechnen. Ich weiß, daß beim natürlichen kubischen Spline die Randbedingung s´´(xo)=0 und s´´(xn)=0 erfüllt sind. Aber mir fehlen die Herleitungen für das Näherungspolynom. Irgendwie verstehe ich das Thema nicht. Ich komme bei meinen Bemühungen irgendwie auf keinen grünen Zweig. Vielleicht ist es auch zu hoch für mich (bin aber nicht blond!!!). Könnt Ihr mir helfen????? Bitte helft mir!!!! Tschau bis bald Tina Danke!!! |
Tina
| Veröffentlicht am Samstag, den 21. Juli, 2001 - 16:27: |
|
Hallo, ich bin´s nochmal. Ich habe mich heute schon den ganzen Tag mit dem Spline-Problem herumgeschlagen. Da mir irgendwie der Anfang fehlt, stelle ich mein Vorgehen einfach mal zur Diskussion. Bitte korrigiert mich, wenn ich falsch liege. 1. Die natürliche kubische Spline-Funktion besteht bei vier Stützpunkten aus drei Polynomen. 2. Die allgemeine Funktionsgleichung lautet pi(x)=f(i) + f(i)´(x-x(i)) + f(i)´´/2(x-x(i))hoch2 + f(i)´´´(x-x(i))hoch3 Wie komme ich jetzt auf die Koeffizienten fi´, fi´´ und fi´´´??? Irgendwie muß ich für die Ermittlung von f´´ eine Matrix (lineares Gleichungssystem) erstellen, aber wie? Bitte helft mir!!!! Tschau bis bald Tina Danke!!! |
Tina
| Veröffentlicht am Sonntag, den 22. Juli, 2001 - 19:56: |
|
Hi, alle guten Dinge sind drei. Ich glaube, dass ich einen Weg für die Aufgabe gefunden habe. Bei vier Stützpunkten (0,-1), (1,3), (2,1) und (3,2) muß es drei Polynome geben, die zusammen die Iterationsfunktion s(x) bilden. Ich habe folgende drei Polynome ausgerechnet. S1(x)=-1+6,8*x-10,8*xhoch3 S2(x)= 3+16,4*(x-1)-10,8*(x-1)hoch2 +18*(x-1)hochdrei S3(x)= 1-14,3333*(x-2) +7,2*(x-2)hoch2 –7,2*(x-2)hoch3. Könnte Ihr die Aufgabe mal nachrechnen und mir das Ergebnis bestätigen? Tschau bis bald Tina Danke!!! |
Hans (Birdsong)
| Veröffentlicht am Montag, den 23. Juli, 2001 - 09:06: |
|
Hallo: Mit dem Ansatz S_i(x) = a_i + b_i(x-i) + c_i(x-i)^2 + d_i(x-i)^3 i = 0,1,2, finde ich zunaechst a_0=1,a_1=3,a_2=1,c_0=0. Es bleibt ein lineares (8,8)-Gleichungssystem fŸr u:= (b_0,d_0,b_1,c_1,d_1,b_2,c_2,d_2) : A u = v mit der Matrix A = [1,1,0,0,0,0,0,0] [0,0,1,1,1,0,0,0] [0,0,0,0,0,1,1,1] [0,0,0,0,0,0,1,3] [0,3,0,-1,0,0,0,0] 0,0,0,1,3,0,-1,0] [1,3,-1,0,0,0,0,0] [0,0,1,2,3,-1,0,0] und der rechten Seite v = (4,-2,1,0,0,0,0,0)^t Maple liefert die Loesung (29/5,-9/5,2/5,-27/5,3,-7/5,18/5,-6/5). Maple liefert direkt Ÿber readlib(spline): S_0(x) = -1 + (2/9)x - (9/5)x^3 , S_1(x) = (-29/5)+(101/5)x-(72/5)x^2+3x^3 , S_2(x) = (139/5) - (151/5)x+(54/5)x^2-(6/5)x^3 mfg Hans |
Tina
| Veröffentlicht am Montag, den 23. Juli, 2001 - 13:13: |
|
Hallo Hans, vielen Dank für Dein Bemühen! Leider konnte ich den Rechenweg nicht nachvollziehen, da sich unser Skript offensichtlich anders aufbaut. Ich möchte deshalb nochmal klein anfangen. In unserem Skript steht, dass "bei der am häufigsten angewendeten Form (also der kubischen Spline-Funktion) soll der Spline in den Berührungspunkten der Intervalle zweimal stetig differenzierbar sein. Der Grad der Polynome des Splines muß dazu weiter erhöht werden. Das kubische Polynom auf dem Intervall [x;, xi+1) kann man wieder als Taylor-Entwicklung in xi in der Form pi(x) = fi + fi´(x - xi) + 0,5*fi´´ (x - xi)hoch2 + 1/6 * fi´´´( (x - xi)hoch3 schreiben. Die noch unbekannten Größen fi, fi' und fi" stehen dabei für die Ableitungen des Splines in den Stützstellen. Sie sind so zu bestimmen, daß der Spline und seine ersten beiden Ableitungen in den Stützstellen stetig sind." Nun kann man mit der Formel hi+l*f´´i+ 2*(hi+1 + hi)*f´´i+l + hi*f;´´ = 6*( (fi+2 -fi+1)/hi+1 - (fi+1 - fi)/hi) fi´´ausrechnen. Man erhält unter der Maßgabe, dass f´´(0) = f´´(3)=0 letztlich zwei Gleichungssysteme (also f´´(1) und f´´(2), was eigentlich eine Matrix von 2 Zeilen bedeutet (da ja die erste und die letzte zweite Ableitung des Polymons Null ergibt). Somit habe ich die Matrix 4 1 -36 1 4 18 die ich nach f(1)´´und f´´(2) auflösen kann. Sind meine Gedankengänge bis dahin richtig oder kannst Du mir sagen, wo mein Denkfehler liegt??? Tschau bis bald Tina Übrigens, es kann mitr auch jeder andere antworten. Danke!!! |
Hans (Birdsong)
| Veröffentlicht am Montag, den 23. Juli, 2001 - 13:52: |
|
Hallo : Mein Ansatz (der eines nicht-Spezialisten auf diesem Gebiet) ist, soweit ich sehe,abgesehen von der Bezeichnung mit dem deinigen aequivalent. Die Bedingungen an ein kubisches Spline S(x) sind hier : (1) Stetigkeit von S in den Knoten: S_0(0)=-1,S_1(1)=S_0(1) = 3,S_(2)=S_1(2)=1 (2) Stetigkeit von S' in den Knoten : S_0'(1)=S_1'(1), S_2'(2)=S_'(2) (3) Stetigkeit von S" in den Knoten : S_0"(1) = S_1"(1), S_1"(2)=S_2"(2) (4) S"(0) = S"(3) = 0. Das ergibt (nach Umstellung) mein Gl._System. Man kann das moeglicherweise rechentechnisch etwas geschickter darstellen. mfg Hans |
mrsmith
| Veröffentlicht am Montag, den 23. Juli, 2001 - 16:39: |
|
hallo tina, hallo birdsong, ich weiss ja nicht, ob ich mich einmischen sollte. schliesslich kann ich keine loesung vorweisen. aber: man braucht fuer einen spline *mindestens* eine interpolation der punkte. dh. es ist erforderlich, dass z.b. das erste polynom an der stelle x=1 den wert +3 annimmt. @tina: S1(x)=-1+6,8*x-10,8*xhoch3 ==> S1(1) = -1 +6.8 -10.8 = -5 ungleich +3. etc. fuer die anderen polynome kommen auch nicht die gesuchten beziehungen heraus. so z.b. S2(2) = 3 +16,4 -10,8 +18 = +26.6 ungleich 1 diese loesung ist also definitiv falsch. @birdsong nach Matrixloesung: a_0 = -1, b_0 = 29/5, c_0 = 0, d_0 = -9/5 ==> S_0(x) = -1 + 29/5*x - 9/5*x^3 ==> s_0(1) = -1 + 29/5 - 9/5 = -1 + 20/5 = +3. klingt zumindestens bis hierher plausibel. (man muesste halt alle erforderlichen stetigkeiten nachrechnen, um zu wissen, ob die loesung gut ist.) @birdsong nach Maple direktloesung readlib(spline): S_0(x) = -1 + (2/9)x - (9/5)x^3 ==> S_0(1) = -1 +2/9 -9/5 = ? jedenfalls ungleich +3. diese loesung ist also auch keine. viele gruesse mrsmith. ps: abgesehen von der nicht vermerkten bedingung S_2(3)=2, macht die letzte nachricht von hans deutlich, dass hier insgesamt 12 bedingungen durch 12 freie parameter erfuellt werden muessen. pps: wie ist denn die formel hi+l*f´´i+ 2*(hi+1 + hi)*f´´i+l + hi*f;´´ = 6*( (fi+2 -fi+1)/hi+1 - (fi+1 - fi)/hi) eigentlich gemeint? was ist z.b. hi+1?. |
Tina
| Veröffentlicht am Dienstag, den 24. Juli, 2001 - 07:02: |
|
Hallo Hans, Hallo MrSmith, ich danke Euch für Eure Bemühungen, mir zu helfen. Es hat mich auch motivieret, das Problem zu lösen. Ich habe mir die Nacht um die Ohren geschlagen und ich habe die Aufgabe gelöst! Das Problem lag (wie immer)in der einfachen Mathematik (Bruchrechnen!!) Nachdem ich die Ableitungen f´, f´´und f´´´errechnet hatte, konnte ich diese in die Hauptformel einsetzen. Zur Probe habe ich mit den drei erhaltenen Polynomen in den jeweiligen Intervallen eine Excel-Wertetabelle gemacht und als Diagramm darstellen lassen. Passt!!! Ich fühle mich riesig!! @MrSmith: Bei der Formel handelt es sich den Weg zur Ermittlung von f(i+1)´´ bis f(n-1)´´. Wesentlich bei der Berechnung sind die x-Abstände der Stützwerte (bei meiner Aufgabe war es einfach 1), aber die Abstände können ja ungleichmäßig sein. Durch das Ausrechnen dieser Formel erhalte ich die Matrix, mit der ich dann f(i+1) bis f(n-1)´´ausrechnen kann. Wichtig ist, dass f(0)´´ und f(n)´´Null ergeben. Habe ich erst alle f(n)´´, kann ich recht einfach f(n)´und f(n)´´ ausrechnen. Tschau bis bald Tina |
Hans (Birdsong)
| Veröffentlicht am Dienstag, den 24. Juli, 2001 - 15:26: |
|
Hallo nochmal, Tina , Mr.Smith : Der Tippfehlerteufel hat mir mal wieder einen Streich gespielt, S_0(x) lautet korrekt S_0(x) = -1 + (29/5)x - (9/5)x^3. Vergleicht man meine handgerechnete Loesung mit dem Maple-Fertigprodukt, so prŸft man leicht nach, dass beide identisch sind, ebenso, dass S(x) wirklich alle Bedingungen fŸr eine natŸrliche kubische Splinefunktion erfŸllt. mfg Hans |
Martin
| Veröffentlicht am Mittwoch, den 25. Juli, 2001 - 08:35: |
|
Guten Morgen Hans, Du kommst doch mit komplizierten Problemen immer gut zurecht. Bei einer speziellen (doch ziemlich schweren) Aufgabe komme ich nicht weiter und würde mich doch sehr über Deine Hilfe freuen. Bitte schau Dir doch mal folgendes Posting an: Die fragliche Aufgabe |
Hans (Birdsong)
| Veröffentlicht am Mittwoch, den 25. Juli, 2001 - 14:09: |
|
Hallo : Dein Vertrauen ehrt mich. Ich werde mich der Sache mal annehmen, kann aber nicht versprechen, dass ich heute noch dazu komme. Hoffentlich ist es nicht brandeilig ? mfG Hans |
|