LabVIEWForum.de - Probleme mit Mittelwertbildung :-(

LabVIEWForum.de

Normale Version: Probleme mit Mittelwertbildung :-(
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich benötige für ein Messprogramm eine Mittelwertbildung,
und haben schon mehrere Möglichkeiten versucht, aber nichts hat Funktioniert :-(
Ich habe einen Auszug aus meinem Programm hier angehängt.
Es soll folgendermaßen Funktionieren: Die Graph Anzeige zeigt ein Messsignal in Echtzeit an.
Über einen String der über die Serielle Schnittstelle eingelesen wird kommt das „!“.
Nun soll aus dem Signal das am Graph angezeigt wird ein Mittelwert über die Zeit bis zum „M“ String gebildet werden (ca. 7 Sekunden) der dann beim „S“ String an die LabVIEW Messdaten schreiben Datei weitergegeben wird.
Ich bekomme das leider nicht hin, kann mir jemand eventuell einen Programmvorschlag erstellen?

Danke

Gruß

Micha
Was heißt hier Echtzeit, was heißt hier Mittelwertbildung? Deine Datenaufnahme funktioniert so: Der DAQ-Assistent wartet, bis 100 Daten erfasst worden sind. Das schreibt er dann in einen Graphen, wobei die alten 100 Daten im Graphen gelöscht werden, und arbeitet die anderen Express-VIs ab. Dann beginnt das Spiel von vorn. Wenn Du also plötzlich zu einem bestimmten Zeitpunkt einem Mittelwert bilden willst, dann stehen Dir in dieser Konfiguration nur die letzten (im Grafen) oder die nächsten 100 zu erwartenden Daten (aus dem Express VI) zur Verfügung. Ist das wirklich genau das, was Du willst? Mir kommen da Zweifel. Zu beachten ist auch, daß die Datenerfssung nicht kontinuierlich ist, nach je 100 Daten hat man ein Pause von undefinierter Länge.
Hallo Lucki,

ich muss von von einem Prüfling die Stromaufnahme in den ersten sieben Sekunden messen und den Mittelwert bestimmen, um den Wert dann mit dem Referenzwert zu vergleichen!
Das meine ich mit "Echtzeit"

Gruß

Micha
Geht das mit dem Mittelwert vielleicht irgendwie über ein Array?
Wenn du es in "Echtzeit" haben willst, dann nimm die Point by Point Operationen.
' schrieb:Wenn du es in "Echtzeit" haben willst, dann nimm die Point by Point Operationen.
Hallo,

vielleicht war das mit Echtzeit nicht das richtige Word dazu :-)
Ich will einfach nur ca 7 Sekunden Werte einlesen und danach den Mittelwert bilden!
Point by Point Operationen kenn ich leider nicht, was ist das?

Gruß

Micha
<div align="left">Hallo Micha!

Mit "Point by Point" meint Freedive sicherlich eine gleitende Mittelwert-Bildung, wobei immer der aktuelle Messwert mit den bereits aufgenommenen Messwerten in die Mittelwert-Berechnung eingeht, d.h. nach jedem Messwert muss ein neuer Mittelwert bestimmt werden, wobei sich die Anzahl (n) der Elemente ständig erhöht. Nur so ist ein "Echtzeit" - Mittelwert machbar.
Ich an deiner Stelle würde jedoch alle Messwerte, wie du schon meintest, in ein Array schreiben und hinterher das "Mean.vi" aus der Palette "Mathematik/Wahrscheinlichkeit und Statistik" verwenden.

Gruß Danyo
</div>
Danke Danyo, besser haett ichs net erklaeren koennen :-)

Anbei ein Spielbeispiel (man beachte nicht den schlechten Programmierstil!)


[attachment=3720]
Hallo,

danke für Eure Tipps!
Ich kenn mich leider nicht mit Arrays aus, hab im ersten Moment keine Ahnung wie ich das umsetzen könnte  Woher weiß ich wie viel Werte im Array liegen damit ich den Mittelwert ausrechnen kann?
Wo ist bei dem Beispiel von Freedive der Eingang?
Schönen Sonntag Abend noch!

Gruß

Micha
' schrieb:Hallo,

danke für Eure Tipps!
Ich kenn mich leider nicht mit Arrays aus, hab im ersten Moment keine Ahnung wie ich das umsetzen könnte  Woher weiß ich wie viel Werte im Array liegen damit ich den Mittelwert ausrechnen kann?
Wo ist bei dem Beispiel von Freedive der Eingang?
Schönen Sonntag Abend noch!

Gruß

Micha

Hi Micha!

a) es gibt in der Palette Array einen Block Array-Größe
b) Ich denke mal der Eingang wird angezeigt wenn mit der Maus über den Block fährst, schau Dir doch mal die Hilfe zu dem Block an und/oder aktiver die Context-Hilfe (STRG+H).

Gruß, Rob
Seiten: 1 2
Referenz-URLs