Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
habe die Spline Funktion von der mathematischen Bibliothek benutzt, jedoch für kleine Werte kommt ein sehr stranger spline fit heraus
habe die daten in mathamatica reingeschickt, und da sah es sehr viel besser aus, kein so ein großer auschlag von der Kurven
Teilweise geht der spline nicht einmal durch die vorgegebenen Punkte
Deine Originalpunkte haben eine sehr merkwürdige Verteilung: Am Anfang drängen sich 3 Punkte mit fast gleichen X-Werten, dann kommen noch 4 Punkte in weiten Abständen.
Die Forderung, daß die Kurve durch alle Punkte gehen soll, ist schon rein logisch nur dann zu erfüllen, wenn sich innerhalb des dx der interpolierten Kurve nicht mehrere Originalpunkte befinden. Die kleinste dx-Abstand zweier Punkte ist bei Dir 8.3E-5, also brauchst Du für den X-Bereich 0..1 mindestesn den Reziprokwert an Punkten: 12042. Du hast aber nur 100 genommen.
Wenn die Forderung lautet, daß die Kurve durch alle Punkte gehen soll und die Kurve so glatt wie möglich sein sein soll (d.h keine Sprünge bis zur 3. Ableitung), dann sieht das Ergebniss eben so aus. Die Mathematik kann doch nicht dafür, wenn Du bei so seltsamen Werten etwas anderes erwartest.
Hier bestimmen die drei dichtgedrängen Punkte am Anfang den gesamten weiteren Verlauf. Ziehe wenigsten einen der beiden fast identischen Anfangspunkte aus dem Verkehr, dann sieht alles schon ganz anderes aus.
is schon richtig, aber erstens ich kann den 2. sehr engen punkt nicht löschen, da dieser durch das system abhängig ist. In dem Fall von einem ccd chip.
und zweitens die From der spline linie ist wriklich merkwürdig
deswegen hier ein zitat von unserem mathematiker mit bilder wie es eigenlich ausschaune sollt
*Also das Fitting hängt nur bedingt von den Points ab – die Formel von der ersten Antwort ist eine mathematische Mindestforderung, die aber nur theoretisch gilt (also wieder mal unbrauchbar in der Praxis)!!!!
In Mathematica ist der Fit bei 3 Stützstellen (Mathematica-Mindestforderung) noch nicht ganz drauf – bei 25 dafür schon perfekt – von 1000 ganz zu schweigen.
Mathematica erlaubt aber wahrscheinlich, dass der Spline auch senkrecht nach oben gehen kann, was die anderen Spline-Funktionen nicht erlauben (das ist allerdings mathematisch nicht 100ig korrekt, weil eigentlich kubische Splines nie senkrecht gehen können) – also ist der Mathematica Algorithmus für die Praxis viel besser geeignet.
*
10.12.2008, 17:26 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2008 17:26 von jg.)
Könnte es sein, dass du (wie hier so häufig) mal wieder nicht alles erzählst?
Deine Screenshots aus (ich nehme mal an) Mathematica sind doch niemals kubische Splines (also Splines 3. Grades)? Da ist doch ein heftiger Knick beim dritten Punkt. Kann Mathematica mglw. einen Spline 2. oder 1. Ordnung?
' schrieb:hi leute
is schon richtig, aber erstens ich kann den 2. sehr engen punkt nicht löschen, da dieser durch das system abhängig ist. In dem Fall von einem ccd chip.
und zweitens die From der spline linie ist wriklich merkwürdig
deswegen hier ein zitat von unserem mathematiker mit bilder wie es eigenlich ausschaune sollt
*Also das Fitting hängt nur bedingt von den Points ab – die Formel von der ersten Antwort ist eine mathematische Mindestforderung, die aber nur theoretisch gilt (also wieder mal unbrauchbar in der Praxis)!!!!
Hä, wie bitte, also wenn die Punkte alle verschiedene x-Werte haben, dann ist ein Spline 3. Ordnung bis auf die Vorgabe der Anfangsbedingung eindeutig bestimmt. Und ein Fitting hängt natürlich von den Punkten ab. Das ist doch gerade der Punkt bei Splines, dass er genau durch dir Vorgabe-Punkte geht.
' schrieb:In Mathematica ist der Fit bei 3 Stützstellen (Mathematica-Mindestforderung) noch nicht ganz drauf – bei 25 dafür schon perfekt – von 1000 ganz zu schweigen.
Mathematica erlaubt aber wahrscheinlich, dass der Spline auch senkrecht nach oben gehen kann,
Wie bitte, ganz bestimmt nicht!
' schrieb:was die anderen Spline-Funktionen nicht erlauben (das ist allerdings mathematisch nicht 100ig korrekt, weil eigentlich kubische Splines nie senkrecht gehen können) – also ist der Mathematica Algorithmus für die Praxis viel besser geeignet.
*
Ich habe mal zu Testzwecken noch mit den Anfangs- und Endbedingungen rumgespielt. Die Endbedingung ist sicher harmlos, die habe ich auf 2. Ableitung = 0 gelassen (Vorgabe).
Aber, wenn man die Anfangsbedingung geschickt (in diesem Fall trial and error) anpasst, bekomme ich bei der Bedingung 1. Ableitung = 2575 folgendes Ergebnis:
So, und das sieht doch schon besser aus?!
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
' schrieb:Mathematica erlaubt aber wahrscheinlich, dass der Spline auch senkrecht nach oben gehen kann, was die anderen Spline-Funktionen nicht erlauben
Wenn es so sein sollte, dann ist es doch in Deinem Fall nur noch ein ganz kleiner Schritt zur befriedigenden Lösung: in den Spline-VIs die Rollen von X und Y vertauschen. Habs versucht - Volltreffer!
P.S. Mit dieser ekeligen Eiterbeule zwischen 4. und 5.Punkt in Deiner Mathematica-Kurve kann ich Dir allerdings nicht dienen. Nehme aber an, Du bist froh wenn sie weg ist.
Habe mich noch mal mit Fitting befasst und in den betreffenden VIs von LV herungesucht, finde aber nicht das was ich gesucht hatte. Vielleicht kann mir ein Vollblut-Mathematiker helfen.
Wenn ich mit einem alten Gummilineal aus meiner Studentenzeit aus einer Punktfolge eine Kurve mache, dann ist das Ergenis völlig unabhängig von der Wahl des Koordinatensystems. d.h es ist egal, was die x- und was die y-Achse ist. Grundlage dieses manuellen Verfahrens sind nicht Polynome oder Polynom-Bruchstücke, sondern Krümmungsradien. Diese sind invariant gegenüber Drehungen des Koordinatensystems. Man kann sogar eine in sich geschlossene Kurve fitten, und es ist egal, ob es eine Polynomkurve oder einen Wurzelfunktion ist.
Das funktioniert mit Spline so nicht, wie überhaupt des Verfahren eingeschränkt ist: Man kann einen Sinus fitten, aber nicht einen arc-sin (über mehrere Perioden). Allgemein kann man sagen, daß das Fitten eine inversen Kuve, als z.B y=sqrt(x) ein anderes Fit-Ergebnis liefert als das Fitten von y=x².
Frage: Kennt sich da jemand aus, gibt es ein mathematisches Verfahren für das Fitten von Punktfolgen, welches ein Fitergebniss unabhängig davon liefert, wie man das Koordinatensystem dreht?