Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Lösen einer PDE mit der Cubic-Spline-Interpolation

Lösen einer PDE mit der Cubic-Spline-Interpolation

Universität / Fachhochschule

Partielle Differentialgleichungen

Tags: Cubic-Spline-Interpolation, Näherungsfunktion, Partielle Differentialgleichungen

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
Gogoman96

Gogoman96 aktiv_icon

13:21 Uhr, 10.03.2023

Antworten
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 :
axi2+bxi+c=yii[1,3]
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.

interpol_test

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Online-Nachhilfe in Mathematik
Antwort
HAL9000

HAL9000

13:33 Uhr, 10.03.2023

Antworten
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.

Gogoman96

Gogoman96 aktiv_icon

13:47 Uhr, 10.03.2023

Antworten
Ich versuche es mal besser zu beschreiben. Ich habe Datenpunkte gegeben {xi,yi}i[0,n] und benötige die erste und zweite Ableitung an diesen Punkten {xi,yi}. 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 {x0,y0} und {xn,yn}. Ich wähle die Ranbedingung, dass die ersten Ableitungen f(x0)f(xn) an diesen 2 Punkten vorgegeben sind. Diese sind mir aber nicht vorgegeben, und ich muss sie nähern. Umso genauer ich die Ableitungen f(x0)f(xn) 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 f(x0)f(xn) zu schätzen. Ich frage mich ob es eine bessere Methode gibt um f(x0)f(xn) zu nähern wenn Datenpunkte {xi,yi} gegeben sind.

Edit: Genau, ich habe nur die ersten Ableitungen vorgegeben. Die zweite wird daraus von selbst berechnet.
Antwort
HAL9000

HAL9000

14:02 Uhr, 10.03.2023

Antworten
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?

Gogoman96

Gogoman96 aktiv_icon

14:13 Uhr, 10.03.2023

Antworten
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.

interpol_test
Frage beantwortet
Gogoman96

Gogoman96 aktiv_icon

13:07 Uhr, 14.03.2023

Antworten
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 O(h4) .
ahmedbadary.github.io/work_files/school/128a/4_1#bodyContents31