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!
Mit dem Non-Linear-Curve-Fit-VI aus der Fitting-Palette habe ich innerhalb kürzester Zeit folgendes erreicht:
[attachment=39344:Image01.png]
@emitter: Probiers mal selber, ist wirklich nicht allzu schwer (und du hast das Erfolgserlebnis, selber was programmiert zu haben, als nur nachzubauen). Im Notfall nimm erst mal das Express-VI in der Fitting-Palette, aber schau später den Code an!
MfG, Jens
das problem dabei ist, dass ich mich mit den datentypen von labviw noch zu wenig auskenne... so hab ich z.b.: keine ahnung wie ich jetr dieses VI verwenden soll... nunja ich habs eben mal mit numerischer mathematik probiert... jezt rechnet der ca 1000 mal in einer schleife bis er auf ein zutreffendes ergebniss kommt... toleranz +/-1 grad, das mit nur 2 Messpunkten! Wenn ich noch check wie ich das mit mehr Messpunkten mache wirds noch genauer, bin dafür aber grad in der Matura(bei euch Abitur)zeit ziemlich ausgebucht...
wie genau wird denn ein ergebniss mit der interpolation? also ich bekomm wenn ich eine y=A*(1-exp(-t/T) funktion mit A von zb 80 simulier mit 2 Messungen einen ausgerechneten Endwert von 80,345 zb... wie genau kommt ihr hin?
' schrieb:das problem dabei ist, dass ich mich mit den datentypen von labviw noch zu wenig auskenne... so hab ich z.b.: keine ahnung wie ich jetr dieses VI verwenden soll... nunja ich habs eben mal mit numerischer mathematik probiert... jezt rechnet der ca 1000 mal in einer schleife bis er auf ein zutreffendes ergebniss kommt... toleranz +/-1 grad, das mit nur 2 Messpunkten! Wenn ich noch check wie ich das mit mehr Messpunkten mache wirds noch genauer, bin dafür aber grad in der Matura(bei euch Abitur)zeit ziemlich ausgebucht...
wie genau wird denn ein ergebniss mit der interpolation? also ich bekomm wenn ich eine y=A*(1-exp(-t/T) funktion mit A von zb 80 simulier mit 2 Messungen einen ausgerechneten Endwert von 80,345 zb... wie genau kommt ihr hin?
Wenn wer mein VI sehen will schreibt mir einfach!
mfg
2 Messpunkte? Und damit extra(inter)polieren bei einer Anpassungsfunktion, die 2 freie Parameter (A & T) hat? Das ist ein wenig dünn.
Ergebnisse bei meinem Screenshot hängen vor allem davon ab, wieviel Rauschen ich drauf gebe und wie lange ich Daten sample (je länger, desto besser natürlich).
Wenn du nicht weisst, ob oder wie du jetzt Daten(typen) anschliesst, oder ob du es jetzt richtig gemacht hast, dann poste mal deine Versuche/VI, dann sehen wir weiter. Wobei ich sagen muss, die Online-Hilfe zum erwähnten VI ist doch eigentlich recht ausführlich...
MfG, Jens
P.S.: @Eugen: das mit nicht-lineare Anpasssung habe ich wohl etwas unglücklich ausgedrückt. Wollte halt auf das allgemeine "Non-Linear Curve Fit-VI" raus. Bei Modellen wie exp(c*x) kommt man bei der Anpassung unter Umständen mit Minimierung nach Fehlerquadratmethode aus, das kann man dann über ein lineares Gleichungssystem lösen. Aber bei Funktionen wie a + b*exp(c*x) sieht es dann schlecht bis schwierig aus, weshalb dann eben das oben erwähnte VI (welches iterativ die Parameter optimiert) angesagt ist. Aber ich schweife ab...
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!
ich check zwar das programm von eg(danke nochmal) aber das ist auch nicht die lösung des problems... es ist eine A-A*exp(-t/T) funktion und keine A*exp(-t/T) und da ich A bestimmen will und daher nicht weis kann ich das auch nicht irgendwie umformen... die nicht lineare kurvenanpassung übersteigt wirklich meine LabVIEWkenntnisse bei weitem... ich versteh einfach nicht was ich für den f(x,a) eingang bereitstellen soll, bzw für den DATEN eingang, ich hab nochnie mit sowas gearbeitet und auch die beispiele die LabVIEW zur verfügung stellt funktionieren zwar, machen mirs aber nicht leichter...
jens, ist die funktion von dir ein natürlicher logarithmus oder eine a-A*exp... funktion?
Hast Du denn schon mal in ein Lehrbuch für experimentelle Physik, Regelungstechnik oder Systemtheorie geworfen?
Soweit ich mich erinnern kann, kann man solche Erwärmungsprozesse mit einem PT1- oder besser PT2-Verhalten beschreiben.
Es könnte auch nicht schaden, das ganze mal mit Stift und Papier durch zu rechnen um dadurch leichter auf den nötigen Algorithmus schliessen zu können. Aus dieser analytischen Betrachtung bekommst Du auch eine Information wieviele Stützstellen (Messwerte) Du benötigts um mit der gewünschten Genauigkeit das Ergebnis hervorzusagen.
Gruß, Robert
PS: 50min sind doch für thermische Prozesse noch eine recht angenehme Zeitspanne.. Besser als ein Gerät am Morgen anzuschalten und dann zum Nachmittagskaffee nachschauen zukönnen, wo sich das System thermisch eingependelt hat..
Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.
N.B.: "Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
numerisch hab ich es schon gelöst... ich brauche mehr stützpunkte das weis ich, pt1 weis ich auch bin immerhin mechatroniker, mir fehlt nicht die sachverständniss zum problem ^^ nur die zu dem funktionsblock ^^
24.04.2008, 16:17 (Dieser Beitrag wurde zuletzt bearbeitet: 24.04.2008 16:19 von jg.)
Poste doch mal ein VI, wie weit du mit der Anpassung kommst.
Im Prinzip habe ich doch die gesamte Lösung schon beschrieben. Noch etwas Suchen und Stöbern in der Onlinehilfe (Strg-H) von LabVIEW, und du müsstest eigentlich hinkommen.
Ich werde aber nicht ohne dein Entgegenkommen eine Hausaufgaben-Lösung vorgefertigt posten.
MfG, Jens
P.S.: Ach ja, meine Screenshots zeigen die Simulation eines Signals der Art y=A*(1-exp(-t/T)), wobei ich ein weißes Rauschen drauf gegeben habe, und dann die Anpassung per Non-Linear-Curve-Fit.
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:Poste doch mal ein VI, wie weit du mit der Anpassung kommst.
Im Prinzip habe ich doch die gesamte Lösung schon beschrieben. Noch etwas Suchen und Stöbern in der Onlinehilfe (Strg-H) von LabVIEW, und du müsstest eigentlich hinkommen.
Ich werde aber nicht ohne dein Entgegenkommen eine Hausaufgaben-Lösung vorgefertigt posten.
MfG, Jens
P.S.: Ach ja, meine Screenshots zeigen die Simulation eines Signals der Art y=A*(1-exp(-t/T)), wobei ich ein weißes Rauschen drauf gegeben habe, und dann die Anpassung per Non-Linear-Curve-Fit.
ich habs ja (denk ich mal) schon soweit... ich weis nur nicht für was der f(x,a) eingang benötigt wird...
ps.: das sind keine hausaufgaben, das ist eine freiwillige diplomarbeit ;-)
OK, das sieht doch schon mal nicht schlecht aus. Leider kann ich zwar aus dem Screenshot nicht erkennen, ob die beiden Arrays an die richtigen Eingänge angeschlossen hast, aber es wird wohl passen.
Empfehle die 2. Instanz des Anpassungs-VI (die mit Formula-String), da steht in der Hilfe von LV zu diesem VI Einiges zum Eingang "Model descriptor" drin, das ist (denke ich) einfacher für dich anzuwenden.
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!
' schrieb:OK, das sieht doch schon mal nicht schlecht aus. Leider kann ich zwar aus dem Screenshot nicht erkennen, ob die beiden Arrays an die richtigen Eingänge angeschlossen hast, aber es wird wohl passen.
Empfehle die 2. Instanz des Anpassungs-VI (die mit Formula-String), da steht in der Hilfe von LV zu diesem VI Einiges zum Eingang "Model descriptor" drin, das ist (denke ich) einfacher für dich anzuwenden.
MfG, Jens
kanns so gehen?
ich bekomm immer nen syntax fehler bei der auflösung
Jetzt lies noch mal die Hilfe zum Eingang "initial parameters" durch. Da darf kein leeres Arrays und auch kein Array (0,0) angeschlossen sein, sondern was sinnvolles (z.B. 2 positive Werte).
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!