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!
Mein Ziel ist die Berechnung der Schneidarbeit einer Stanzmaschine aus den Kraft- und Wegdaten über Berechnung des Integrals der Weg-Kraft-Kurve.
Mit dem Labview-Block 'Numerische Integration (nicht äquidistant)' müsste das eigentlich problemlos funktionieren.
Bei manchen Wegverläufen allerdings ist das Ergebnis nur NaN und der Fehlercode -20049 (Die x-Werte müssen unterschiedlich sein) wird angegeben.
Versteht ihr, warum die x-Werte unterschiedlich sein müssen? (Abgesehen davon sind meine Wegwerte unterschiedlich...)
Wenn ich den Wegverlauf mit einem Polynom approximiere, taucht das Problem nicht auf (möchte ich allerdings umgehen).
Das Problem scheint am Ende meiner Wegdaten zu liegen, da beim frühzeitigeren Abschneiden der Wegdaten das Problem ebenfalls verschwindet.
Habt ihr eine Idee, was genau das Problem an meinen Wegdaten sein könnte?
Gibt es eine minimal notwendige x-Wert-Differenz?
Im Anhang ist ein VI mit Integrationsversuch beispielhafter, problematischer Daten.
Danke im Voraus für Eure Hilfe!
glg jeanny
Anzeige
07.07.2012, 15:17 (Dieser Beitrag wurde zuletzt bearbeitet: 07.07.2012 15:19 von GerdW.)
Abgesehen davon: die Funktion prüft auf exakt gleiche X-Werte (kann man sich ja anschauen) und gibt dann diesen Fehler aus. Also einfach selbst mal die X-Werte überprüfen!?
die pragmatische Lösung wäre, pro X-Wert nur einen Y-Wert zuzulassen. (Sonst hast du bei jeder numerischen Integration Probleme!)
Entweder löscht man überzählige Einträge einfach raus (die simple Variante) oder man mittelt die Y-Werte für gleiche X-Werte (die geringfügig kompliziertere Variante)...
Ich habe nun gleiche X-Werte einfach mal herausgelöscht und er hat trotzdem Probleme bei der Integration und gibt immer noch die selbe Fehlermeldung aus!
Gleichzeitig habe ich mal einen Versuch mit ganz einfachen Werten gemacht und da hat er auch bei gleichen x-Werten kein Problem bei der Integration (siehe VI).
???
08.07.2012, 13:51 (Dieser Beitrag wurde zuletzt bearbeitet: 08.07.2012 14:49 von Lucki.)
Habe mir zum Sonntag das VI mal kurz angesehen, kann Dir auf die Schnelle auch nicht sagen woran das liegt. Aber: Das Integrations-Vi ist zwar mehrfach verschachtelt, aber die BD's lassen sich alle öffnen, man sieht den Code, der die Fehlermeldung macht. Von daher wäre es doch möglich, genau zu verfolgen, warum der Fehler ausgegeben wird.
Der Fehlermeldung selbst ist natürlich Blödsinn, also selbst ein Fehler: Am Integrations-VI hat man die Eingänge T und X, über T wird integriert. Die "X"-Werte sind also die Ordinatenwerte, die gewöhnlich mit Y bezeichnet werden. Und wenn davon mehrere gleich sind, dann werden eben mit der gleichen Formel Rechteckelemente statt Trapezelemente berechnet, warum sollte das nicht möglich sein?
Also auch wenn die Funktion mit den Eingangsarrays T und X arbeitet, werden diese in späteren Unterfunktionen dann wie gewöhnlich mit X und Y bezeichnet.
Wenn er also nach unterschiedlichen X-Werten verlangt meint er damit schon wie üblich die x-Achse.
Ich denke ich habe inzwischen zumindest herausgefunden, wie ich die Fehlermeldung umgehen kann: Wenn die x-Werte zuerst aufsteigend sortiert werden (was er zwar eigentlich selbst auch nochmal macht) dann berechnet er das Integral Problemlos - auch bei gleichen x-Werten.
09.07.2012, 07:24 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2012 07:25 von GerdW.)
Zitat:wie ich die Fehlermeldung umgehen kann: Wenn die x-Werte zuerst aufsteigend sortiert werden (was er zwar eigentlich selbst auch nochmal macht) dann berechnet er das Integral Problemlos - auch bei gleichen x-Werten.
Ja, genau das macht das subVI - aber nur, um zu prüfen, ob die Daten sortiert vorliegen!
In deinem Beispiel-VI entfernst du zwar gleiche aufeinanderfolgende X-Werte, aber das subVI prüft diese Bedingung nach dem Sortieren der X-Werte - du dagegen nicht. Deshalb kommt weiterhin die Fehlermeldung "gleiche X-Werte": deine Werte liegen nicht sortiert vor und weisen gleiche X-Werte auf!