Hallo, ich habe folgende Problemstellung: Gegeben sind 4 Punkte P1, P2, P3, P4. Diese vier Punkte sollen nun durch eine Linie (Kurve) verbunden werden. Die Kurve muss dabei durch alle vier Punkte gehen. Beispiel siehe Bild im Anhang. Ich habe das zuerst mit kubischen Splines versucht, jedoch muss bei kubischen Splines die X-Komponente der Punkte in aufsteigender Reihenfolge sein. Wie löst man also diese Aufgabe? Wie nennt man ein solches Verfahren? Vielen Dank Gruß Michael
Wieso nicht einfach x und y tauschen? Dann wäre es ne normale Parabel.
In dem du das Bild um 90° drehst! dann sind deine x-Werte aufsteigend. Oder du tauschst x<-->y in deiner Formel. Oder du fittest ein Polynom 3. Grades. Auf jeden Fall solltest du mal abklären, ob Overfitting ein Problem werden kann (eher bei extrapolation).
Ah, das ist ein guter Ansatz, Ich prüfe einfach ob die X-Komponente der Punkte in aufsteigener Form ist, wenn nicht tausche ich x und y und prüfe erneut. Wenn x und y getauscht sind, kann ich wieder einen kubische Spline verwenden und drehe die Ausgabe auf dem Bildschirm um 90 Grad nach links. Könnte funktionieren, oder?
Michael Stahl schrieb: > Ich prüfe einfach ob die X-Komponente der Punkte in aufsteigener Form > ist, wenn nicht tausche ich x und y und prüfe erneut. Nein, so geht das nicht. Es sind im allgemein natürlich auch Kurven denkbar, wo sowohl X als auch Y nicht aufsteigend sind. Wenn du das im vorhinein ausschliessen kannst, dann ok.
Das Tauschen der X- und Y-Koordinate funktioniert nur zufällig bei diesen Werten. Stell Dir "Bildhaft" vor, P2 läge etwas höher.
so wollte ich im Studium Aktienkurse berechnen, aber das funktioniert nicht. stelle dir vor der Punkt 2,5 läge ganz wo anders. Du kannst eine Tabelle für jeden Punkt anlegen, du kannst die Punkte auch gerade verbinden wenn du ungefähr weisst das die Zwischenpunkte dort liegen, sonst ist es Kaffeesatzleserei. Oder du nimmst mehr Messpunkte auf, Tabelle oder viele Geraden zwischen den Punkten im Wertebereich.
Michael Stahl schrieb: > Wie löst man also diese Aufgabe? Ich mache das immer mit Excel. Die Formel kann ich dann im Diagramm direkt ablesen.
Hallo Harald, die Funktion kannst Du aber nur ablesen, wenn es eine Trendlinie zu den Kurven gibt, oder? Im Prinzip möchte ich genau das machen was Excel auch macht. 4 Punkte mittels X/Y-Diagramm (Punkte mit interpolierten Linien) darstellen. Welcher Algorithmus verbirgt sich hinter Excel?
Wenn der zweite Punkt höher liegt dann ist es bei 90° Drehung aber keine Funktion mehr, sondern eine Relation und die ist wie schon erwähnt nicht beschreibbar mit einer Funktion... Die Lösung sollte seit Klasse 10/11 bekannt sein. Aus gegeben Punkten eine Funktion 3.Grades erstellen. Lässt sich vielleicht auch etwas im Internetz finden Gruß und viel Erfolg
So ein einfaches Beispiel.. Das LGS habe ich hier Lösen lassen: http://www.arndt-bruenner.de/mathe/scripts/gleichungssysteme.htm
Michael Stahl schrieb: > Hallo Harald, > > die Funktion kannst Du aber nur ablesen, wenn es eine Trendlinie zu den > Kurven gibt, oder? > > Im Prinzip möchte ich genau das machen was Excel auch macht. > 4 Punkte mittels X/Y-Diagramm (Punkte mit interpolierten Linien) > darstellen. > > Welcher Algorithmus verbirgt sich hinter Excel? Kommt darauf an - wenn du mit Rechtsklick "Add Trendline" wählst, macht's eine Regressionsrechnung, dann musst du auch wählen, welchen Fit du möchtest. z.B. für eine Gerade: http://de.wikipedia.org/wiki/Lineare_Regression Diese Methode legt aber nur die bestmögliche Kurve zwischen die Punkte (durch Minimierung der Abstände jedes Punktes zur gewünschten Funktion) und ist daher keine Interpolation, die garantiert, dass jeder Punkt auch tatsächlich durchlaufen wird.
Prog Rammer schrieb: > Diese Methode legt aber nur die bestmögliche Kurve zwischen die Punkte > (durch Minimierung der Abstände jedes Punktes zur gewünschten Funktion) > und ist daher keine Interpolation, die garantiert, dass jeder Punkt auch > tatsächlich durchlaufen wird. Ich habe diese Funktion für eine Aufgabe benutzt, bei der es darum ging, eine Spannungs/Weg-Kurve für einen Piezo zu ermitteln. Ich habe dazu stufenweise die Steuerspannung erhöht und den Weg gemessen. Den Wert der ermittelten Kurve habe ich dann in den Piezotreiber eingegeben, sodas dieser die Ansteuerung passend korrigieren konnte. Natürlich wurde dort mit wesentlich mehr Punkten gearbeitet und die X-Werte stiegen stetig. Für diese Aufgabe war Exel ideal geeignet. Bei der Aufgabe von Michael handelt es sich wohl eher um eine Schulaufgabe, bei der man auch den Rechenweg erklären muss. Dieser Rechenweg war zur Lösung meiner Messaufgabe völlig überflüssig. Es reichte mir das der Messaufbau nach Fertigstellung der Messungen auf wenige Nanometer genau positionieren konnte. :-) Gruss Harald
könnte stimmen :) In diesem Fall bräuchte er ohnehin irgendwas Kreisgleichungsartiges - ohne die eh schon benannte Drehung um 90°C kann man das ja nicht in eine Funktion stopfen, da die Funktion für einige X mehr als einen Y Wert hat.
Hallo, es handelt sich nicht um eine Schulaufgabe, wie vermutet, sondern um folgendes Problem: Man kann auf einem Monitor 4-6 Punkte wählen und diese Punkte werden dann durch eine Kurve verbunden. Ich habe das Problem nun gelöst. Habe auf einer Homepage den Excel-Algorithmus für X/Y-Diagramm (Punkte mit interpolierten Linien) gefunden und mir umgeschrieben, so das es auf meinem Mikrocontroller läuft. Das ganze funtioniert wunderbar. Hier der Link: http://blog.splitwise.com/2012/01/31/mystery-solved-the-secret-of-excel-curved-line-interpolation/ Danke für die Anregungen und Tipps. Gruß Michael
Michael Stahl schrieb: > Ich habe das zuerst mit kubischen Splines versucht, jedoch muss bei > kubischen Splines die X-Komponente der Punkte in aufsteigender > Reihenfolge sein. Hä? Wer sagt das denn? Ein ähnliches Problem, allerdings mit mehr Punkten und Überschneidungen, wurde hier schon diskutiert: Beitrag "Re: Wie Parametrisierung für Kurve finden?"
Falls es hübsch algebraisch sein soll: 5 Punkte in einer Ebene bestimmen einen (evtl. degenerierten) Kegelschnitt. Wirf also noch einen Punkt dazu :-) http://en.wikipedia.org/wiki/Five_points_determine_a_conic#Construction
:
Bearbeitet durch User
Johann L. schrieb: > wurde hier schon diskutiert: Oh, das sieht interessant aus. Sollte ich mir merken.
Splines verwendet man anders: man nimmt als Parameter die Länge der Kurve, damit hat man einen Parameter der steigend ist und muss dann für x und y jeweils getrennt rechnen
Denkanstoß: Eine Ellipse lässt sich durch 4 Punkte in einer Ebene immer durchlegen, oder nicht?
Frank Zapper schrieb: > Wenn nicht 3 davon auf einer Linie sind. > Schade Was heisst schade, die Aufgabe "eine Kurve" ist sowieso nicht eindeutig lösbar, man kann z.B. irgendwas durch jede beliebige Abfolge der Punkte legen, und das auch in beliebig vielen Variationen - man muss also Vorgaben machen, z.B. die Reihenfolge und die Art der Kurve, darum hat man sich hier aber bisher gedrückt. Es hat bloss jeder seine Favoritenkurve, aber ohne Begründung. Georg
Solche Kurven nennt man parametrische interpolierende Kurven, zwei Koordinaten als Funktiion eines lauf-Parameters : XY(t). Man sollte sich Randbedingungen setzen. zB die 2.Ableitung muss ueberall stetig sein, oder so.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.