09.12.2008, 16:36
Beitrag #1
|
|
|
09.12.2008, 19:16
Beitrag #2
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Spline Funktion
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.
spline_fit_problem_1.vi (Größe: 17,87 KB / Downloads: 306)
|
|
|
09.12.2008, 19:31
Beitrag #3
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Spline Funktion
Dem ist nur noch der optische Beweis hinzuzufügen:
Hier bei 1000 Punkten, dann sieht man auch schon, dass der Spline durch alle Punkte geht, so wie gefordert.
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
10.12.2008, 17:26
(Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2008 17:26 von jg.)
Beitrag #5
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Spline Funktion
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.
*
Übrigens, hier eine Seite zum Vergleich:
http://www.arndt-bruenner.de/mathe/scrip...spline.htm
Ergebnisse sind absolut identisch:
MfG, 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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
10.12.2008, 18:02
(Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2008 18:18 von jg.)
Beitrag #6
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Spline Funktion
So, noch ein Versuch:
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
10.12.2008, 18:29
(Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2008 18:56 von Lucki.)
Beitrag #7
|
|
|
12.12.2008, 13:53
Beitrag #8
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Spline Funktion
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?
|
|
|
15.12.2008, 09:40
Beitrag #9
|
matthias schratter
LVF-Neueinsteiger
Beiträge: 5
Registriert seit: Feb 2008
8.5
2001
en
9542
Oesterreich
|
Spline Funktion
hi leute
ja das mit dem drehen vom koordinaten system hab ich auch schon probiert, komischer weise funktioniert der spline so besser
lg
|
|
|
| |