LabVIEWForum.de - Vergleich der letzten Werte im Array

LabVIEWForum.de

Normale Version: Vergleich der letzten Werte im Array
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe ein kleines Problem, und zwar möchte gerne wissen wenn die letzten Array-Werte in einem bestimmten Bereich liegen.
Mein vi führt eine mathematische Operation aus, das Ergebnis nähert sich immer weiter dem Wert 0,42 an. Ich möchte
gerne ein true ausgeben, wenn sich die letzten 5 Werte des Arrays zwischen 0,40 und 0,44 befinden. Wie ist das zu realisieren?
Hallo Juliana,

man sollte prüfen, ob die letzten 5 Werte innerhalb des gewünschten Bereiches liegen:
[attachment=43790]
Das sieht schon sehr gut aus, gibt es auch eine Möglichkeit eines prozentualen Vergleichs? Z.B. ob die letzten 5 Arraywerte alle
innerhalb von 3% liegen? Oder alternativ ein Vergleich, ob der Mittelwert der letzten 5 Arraywerte weniger als 3% vom aktuellen Wert abweicht?
Wie isses denn so mit dem guten alten Dreisatz,
das könntst du jetzt glatt selbst hinbekommen.

Gruß, Marko
Den mathematischen Teil kriege ich gerade noch hin, aber ich stehe mit den arrays in labview auf Kriegsfuß.
Sobald ich den Ausgang des arrays verbinde, lautet der Datentyp 1D-Array. Dann hängt es spätestens daran,
zu vergleichen ob der letzte Wert kleiner ist als 0,97 x dem aktuellen Wert. Könnte mir vielleicht jemand
einen Lösungsansatz oder ein knappes vi zeigen?
(04.03.2013 19:51 )Juliana90 schrieb: [ -> ]Sobald ich den Ausgang des arrays verbinde, lautet der Datentyp 1D-Array.

Was hättest du denn erwartet?!

Wenn du dir das VI von Gerd zusammenbaust, in dem das Array ja rückwärts zusammengebaut wird, dann kannst du doch genau dort, wo die ersten 5 Elemente (durch die Drehung also die letzten 5) ausgewertet werden alles mögliche abprüfen. Wenn du diese Prüfung polymorph programmierst, dann bekommst du ein Bool-Array, das du dann genauer untersuchen kannst, z.B. verodern.




Gruß, Marko
Hallo Juliana,

was ist so schwierig an Array-Rechnungen? Sie funktionieren doch genauso wie mit Skalaren:
[attachment=43792]
Lieben Dank schonmal für eure Hilfe. Leider steckt irgendwo im vi ein Fehler. Ich habe beide Möglichkeiten ausprobiert, aber es haut einfach nicht hin.
Ob man die Abweichung auf 3, 10 oder 30 Prozent stellt, die Auswertung stimmt nicht. Ich wäre sehr dankbar, wenn ihr den Fehler in meinem vi korrigieren könnt!
Dein Programm überprüft momentan ob ALLE Werte im Array in dem vorgegeben Bereich liegen und nicht nur die letzten 5.
Außerdem ist zu beachten, dass der Mittelwert nicht genau der Mittelpunkt den vorgegebenen Bereichs ist, sondern pro Schleifendurchlauf schwankt - da sollte man eventuell doch einen festen Wert vorgeben.
Übrigens: Man muss hier gar nicht mit Arrays jonglieren. Man braucht doch nur zu zählen, ob die Bedingung 5 mal hintereinander erfüllt ist:

[attachment=43798] [attachment=43799]
Referenz-URLs