Durch Interpolation Vergangenheitswerte ermitteln?
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!
Durch Interpolation Vergangenheitswerte ermitteln?
Moin zusammen,
ich bin gerade dabei eine Messreihe auszuwerten und überlege wie ich folgendes am Besten mit LabVIEW lösen kann.
Ich ermittel folgende Messreihe mit x und den dazugehörigen y Werten. Die x Werte sind alle bekannt. Bei den y Werten ist außer einem vergangenheitswert y0 ebenfalls jeder Wert bekannt.
Meine Frage ist nun, wie ich den y0 Wert herausbekomme (per Interpolation zurückrechnen?) und dies mit LV realisieren kann?
Wie ich es mir ungefähr vorstelle wie es funktionieren könnte:
1. Funktion ermitteln
2. mit der ermittelten Funktion den y0 Wert ermitteln (z.B. per Interpolation?)
Wie das nachher in LV aussieht habe ich echt noch keine Ahnung und hoffe das jemand so etwas schon mal probiert hat?
Durch Interpolation Vergangenheitswerte ermitteln?
:klugscheiss ein:
Bei einem Wert außerhalb der Wertemenge spricht man eigentlich von Extrapolation.
:klugscheiss aus:
Nun etwas konkreter:
Auf Grund von ein paar (oder auch vielen) Wertepaaren eine Funktion festzulegen, wie stellst du dir das vor? Ein Modell solltest du schon haben.
Folgende einfache Möglichkeiten fallen mir auf die Schnelle ein - sie lassen sich auch alle mit LabVIEW realisieren, die entsprechenden VIs gibt es in der Mathe-Palette:
- ein Polynom vom Grad x
- eine Spline Funktion
Ob dann für den Wert y0 was Sinnvolles rauskommt, hängt sehr von der Güte deines Modells ab. Extrapolation ist so eine Sache, da kann auch schnell sehr viel Mist entstehen.
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!
Durch Interpolation Vergangenheitswerte ermitteln?
Hallo zusammen,
bitte entschuldigt meine späte Antwort. Ich war die letzte Zeit geschäftlich unterwegs.
Aber jetzt wieder zu dem Thema:
Ich habe im Anhang ein vi mit einer allgemeinen e-funktion (Verhalten meines Systems) und einer anschließenden Interpolation geschrieben. Das klappt schonmal das innerhalb der Funktion alle y-Werte ausgegeben werden.
Nun ist es bei mir so, dass ich aber Werte außerhalb der Funktion benötige. Leider kam ich dazu noch nicht weiter.
Die y-Werte sind also im Zeitintervall von 0-100 bekannt. Wie könnte ich das lösen um bei der e-Funktion im Anhang beispielsweise den y-Wert des Wertes von x=-10 zu bekommen.
Viele Grüße
H_S
15.12.2010, 20:05 (Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2010 20:07 von jg.)
Durch Interpolation Vergangenheitswerte ermitteln?
Bitte keine falschen Angaben bei der LV-Version, dein Upload ist, nicht LV8.6
Wie schon mehrfach gesagt, deine Frage ist ein Extrapolations-Problem, und lässt sich deshalb mit den Interpolations-VIs nur bedingt lösen - je weiter du vom "Messbereich" weg bist, um so schlechter.
Deshalb am besten ein Modell-Funktion fitten, und dann damit Werte ausrechnen:
Durch Interpolation Vergangenheitswerte ermitteln?
Hey Jens,
ja? oh habe ich ganz vergessen umzuwandeln, sorry!
Ich wandel meine 2010 Version immer in ältere versionen, damit es für mehr Mitglieder zu öffnen ist.
Wozu verwendest du denn das Rauschen?
Gruß
H_S
15.12.2010, 20:41 (Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2010 20:42 von jg.)
Durch Interpolation Vergangenheitswerte ermitteln?
Hey,
Ja....war dann schon richtig was ich vermutet hatte...
Aber klasse gelöst. Werde es nun versuchen auf meine Anwendung zu übertragen.
Vielen Dank für die Tipps.
Eine Frage habe ich noch zu der Kurvenanpassung. In wie fern hast du deine Anfangsparameter gewählt?
[20 20 1] müssten ja die Anfangsparameter für [a b k] sein? wie kann ich da am besten vorgehen die richtigen Anfangsparameter zu wählen?
Durch Interpolation Vergangenheitswerte ermitteln?
Hier muß ich laut meckern. Wenn die Funktion, mit der man die Daten fitten möchte, die Exponentialfunktion a + b*exp(-k*t) ist, dann ist es doch sinnvoll, daß man dazu das genau passende Vi "Exponential Fit" verwendet, und nicht so ein Allerwelts-Spline-VI. Gerade wenn es darum geht, den Verlauf zu extrapolieren ist das doch die vielfach bessere Methode.
Durch Interpolation Vergangenheitswerte ermitteln?
Spline-Funktion kommt aus Beitrag #4 und zeigt ja gerade, dass Extrapolation bei diesem Modell NICHT funktioniert.
Der Vollständigkeit halber hier noch das VI inklusive "Exponential Fit":