INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Spline Funktion



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!

09.12.2008, 16:36
Beitrag #1

matthias schratter Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Feb 2008

8.5
2001
en

9542
Oesterreich
Spline Funktion
Hallo Leute

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

???

Hat jemand eine Idee was da sein kein

hab mal mein Vi online gestellt V8.5.1


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  spline_fit_problem.vi (Größe: 19,58 KB / Downloads: 283)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.12.2008, 19:16
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

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.

Lv85_img
Sonstige .vi  spline_fit_problem_1.vi (Größe: 17,87 KB / Downloads: 306)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.12.2008, 19:31
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2008, 16:36
Beitrag #4

matthias schratter Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Feb 2008

8.5
2001
en

9542
Oesterreich
Spline Funktion
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)!!!!

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


Angehängte Datei(en) Thumbnail(s)
           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2008, 17:26 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2008 17:26 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2008, 18:02 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2008 18:18 von jg.)
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2008, 18:29 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2008 18:56 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Spline Funktion
' 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!
   
Lv85_img
Sonstige .vi  spline_fit_problem_1.vi (Größe: 16,87 KB / Downloads: 280)

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.12.2008, 13:53
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

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?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.12.2008, 09:40
Beitrag #9

matthias schratter Offline
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Spline Interpolation LabViewPete 1 3.733 18.08.2015 11:21
Letzter Beitrag: GerdW
  Periodischer Spline zum fitten gottfried 2 3.859 30.09.2013 10:04
Letzter Beitrag: gottfried

Gehe zu: