![]() |
---|
Hallo, ich versuche die Cubic-Spline-Interpolation für eine PDE zu verwenden. Mein Problem ist, dass ich um eine möglichst genaue Interpolation zu erhalten die Ableitung an den beiden Endpunkten vorgeben muss. Diese müssen möglichst genau genährt werden. Aktuell benutzte ich die drei ersten und letzten Punkte und löse das lineare Gleichungssystem : Dies gibt mir einen recht guten Wert aus, jedoch ist er nicht genau genug und die zweite Ableitung bekommt an den Endpunkten einen knick. Edit: Ich bestimme mittels des Gleichungssystem nur die erste Ableitung an den Endpunkten. Diese gebe ich vor und berechne den Spline. Also ist die Frage, ob es eine genauere Methode gibt und die erste Ableitung zu bestimmen. Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |
![]() |
![]() |
So ganz ist mir nicht klar, was du willst: Normalerweise gibt es bei Spline-Interpolation zwei freie Parameter, i.d.R. die zweiten Ableitungen an den Randpunkten betreffen. Bei dir sieht es so aus, als willst du diese Daten aus sich selbst heraus (???) schätzen. Mir ist nicht klar, ob deine Ausführungen damit zu tun haben. |
![]() |
Ich versuche es mal besser zu beschreiben. Ich habe Datenpunkte gegeben und benötige die erste und zweite Ableitung an diesen Punkten . Hierzu interpoliere ich die Datenpunkte mittels einer Cubic-Spline-Interpolation, da mir dies auch die Werte der ersten und zweiten Ableitung an den Punkten schätzt. Um den Spline zu berechnen müssen Randbedingungen vorgegeben werden für die Endpunkte und . Ich wähle die Ranbedingung, dass die ersten Ableitungen an diesen 2 Punkten vorgegeben sind. Diese sind mir aber nicht vorgegeben, und ich muss sie nähern. Umso genauer ich die Ableitungen nähere umso genauer ist auch mein spline und umso besser, kann ich meine PDE lösen. Das oben genannte Gleichungssystem diente dazu um mittels der ersten und letzten drei Punkte die Ableitungen zu schätzen. Ich frage mich ob es eine bessere Methode gibt um zu nähern wenn Datenpunkte gegeben sind. Edit: Genau, ich habe nur die ersten Ableitungen vorgegeben. Die zweite wird daraus von selbst berechnet. |
![]() |
Ich verstehe generell dein Problem nicht: Kennzeichnend für eine Splinefunktion ist doch, dass deren zweite Ableitung eine stückweise lineare Funktion ist, die selbstverständlich an den Intervallübergangsstellen i.d.R. Knicke hat - was hast du denn erwartet? Wieso sie aber am Ende einen Knick haben soll, erschließt sich mir nicht: Es gibt doch jenseits der Enden keine Daten und damit auch keine zweiten Ableitungen. Oder betreibst du hier eine Extrapolation über den Rand hinaus, von der bisher keine Rede war? |
![]() |
Mich stören eher die Abweichungen der zweiten Ableitung an den Endpunkten, also die man im Bild erkennt. Eine Extrapolation wird nicht verwendet. Also mein Ziel ist es möglichst genau die zweiten Ableitungen an den Endpunkten zu bestimmen durch die Näherung der ersten Ableitung an den Endpunkten. Ich habe auch eine spline Interpolation in Mathematica durchgeführt und mir die erste und zweite Ableitung angesehen. Hier ist dann auch eine Abweichung, aber deutlich kleine als die Spline bei mir. Edit: Welche Randbedingung Mathematica verwendet weiß ich leider nicht. Edit 2: Also den Spline, den ich verwende ich ein "clambed" spline Edit 3: So schaut es aus, wenn ich die exakte Ableitung vom Sinus an den Endpunkten als Randbedingung vorgebe. |
![]() |
Falls jemand auf das selbe Problem stößt, poste ich hier eine Lösung für das Problem, die mir geholfen hat. Die Formel " finite difference Five-Point-Formula" ist sehr genau und schätz die erste Ableitung an den beiden Endpunkten gut. Hat einen Fehler von . ahmedbadary.github.io/work_files/school/128a/4_1#bodyContents31 |