Funktion 3. Grades aus 3 Punkten und 2 Steigungen
-
Hallo zusammen!
Zunächst einmal muss ich mal sagen (da dies mein erster Post hier ist), dass ich dieses Forum sehr ansprechend finde. Es gibt neben dem üblichen "Rauschen" wirklich viele interessante Diskussionen.
Meine Frage ist nun die folgende:
Ich suche eine Möglichkeit eine Funktion dritten Grades aus 3 gegebenen Punkten (wobei gilt, dass x0 <= x1 <= x2 ist) und den Steigungen im ersten und letzten Punkt zu erzeugen.
Gibt es da eine Möglichkeit?
Viele Grüße,
dyna.
-
Liegen die Steigungen als Steigungsgeraden oder als Ableitungen vor? Wenn letzteres, dann könntest du ja übers integrireren der Steigungen auf die Ursprungsfunktion schließen. Gib absonsten mal alles, was dir gegeben ist, an.
-
Nein, ist es nicht, da das Gleichungssystem überbestimmt ist. Durch 4 Bedingungen is eine Funktion 3. Grades eindeutig bestimmt.
Mit 5 Bedingungen ist sie nur bestimmt, wenn eine Bedingung redundant ist.Lösung wären ein Polynom höheren Grades oder Splines.
-
Da hier x1=x2=x3 nicht ausgeschlossen ist, kann sogar ein unterbestimmtes Gleichungssystem auftreten.
-
Danke für die schnelle Antwort!
Die Steigungen liegen in Form des Funktionswertes der Ableitung f'(x) vor.
Mein konstruiertes Fallbeispiel besteht aus den Punkten A(-3|9), B(-2|4) und C(2|4), der Steigung f'(x) = -6 im Punkt A, sowie der Steigung f'(x) = 4 im Punkt C.
Aus den 3 Punkten kann ich mir ja 3 Gleichungen der Form:
f(x) = ax^3 + bx^2 + cx + d
aufbauen. Aus den Steigungen die beiden Gleichungen der Form:
f'(x) = 3ax^2 + bx +cZiel meines Gedankengangs ist es, daraus nun eine Funktion f(x) = ax^3 + bx^2 + cx + d zu bilden.
Wenn man sich das ganze als Graph vorstellt, in dem man den Punkt B bzgl. des x-Wertes beliebig zwischen den Punkten A und C verschieben kann, möchte ich mit den Koordinaten des Punktes B genau die Funktion ermitteln, die eben diesen Graphen repräsentiert.Viele Grüße,
dyna.
-
Ich bin mir nicht sicher ob du Thestons Ansatz ganz verstanden hast. Falls nicht, hier noch mal ausführlicher, falls doch bitte ignorieren.
Setze f(x) = a*x^3 + b*x^2 + c*x + d
dann ist f'(x) = 3*a*x^2 + 2*b*x + c
Du weißt:
f(-3) = 9
f(-2) = 4
f(2) = 4
f'(-3) = -6
f'(2) = 4
Durch einsetzen erhälst du ein lineares Gleichungssystem und kannst a,b,c und d bestimmen. Da es aber nur 4 Variablen sind und du aber 5 Gleichungen hast gibt es keine Lösung, also auch kein Polynom 3ten Grades falls keine der 5 Gleichungen redundant ist.
-
Es gibt genau eine Lösung die allerdings kein Polynom dritten Grades ist
Die Lösung wäre ne stinknormale Parabel, f(x) = x²
Wenn ich die etwas widersprüchlichen Angaben in dynas Post richtig interpretiere soll B kein fester Punkt sein, sondern variabel. Allerdings bleiben dann immernoch 4 bestimmende Gleichungen übrig, und B muss dann gewisse Bedingungen erfüllen damit das Gleichugnssystem lösbar ist. Da die 4 Gleichungen bereits die Parabel festlegen muss B auch auf der Parabel liegen.
(hätte ja sein können, dass von den 4 Gleichungen eine redundant ist und dass es dadurch für B noch Freiheitsgrade gibt, dem ist aber nicht so)
-
Das System ist überbestimmt, ja.
Du kannst eine 4x5-Matrix erstellen, wobei die Zeilen jeweils die Polynomwerte enthalten.
Für dein Beispiel:-27 9 -3 1 -6 4 -2 1 6 4 2 1 27 -6 1 0 12 4 1 0
Das ist deine Matrix "A". Außerdem hast du noch die Ergebnisse deiner Gleichungen:
9 4 4 -6 4
Das ist dein Lösungsvektor "v".
A * (a,b,c,d) = v
wäre dein Gleichungssystem, mit dem du die Koeffizienten a,b,c und d per Gaußelimination bestimmen könntest.
Das Gleichungssystem ist aber überbestimmt, weshalb es nur unter bestimmten Bedingungen eine Lösung gibt.
Du kannst nun entweder eine Lösung mit höherem Gradansatz suchen (Grad 4 macht Sinn, weil 5 Unbekannte und 5 Gleichungen) oder eine möglichst genaue Annäherung deines Polynom 3. Grades machen, d.h.:|A*(a,b,c,d) - v| -> min
Siehe dazu Methode der kleinsten Quadrate
Wirkt vielleicht kompliziert, ist aber nicht sonderlich schwer umzusetzen.
PS: Sorry, hätte die Matrix lieber in LaTex geschrieben, schien aber irgendwie nicht zu funktionieren.