Schieberegister Initialisierung mit Array => Not a Number - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Schieberegister Initialisierung mit Array => Not a Number (/Thread-Schieberegister-Initialisierung-mit-Array-Not-a-Number) |
Schieberegister Initialisierung mit Array => Not a Number - Roland - 28.06.2017 14:18 Hallo, ich bekomme kontinuierlich Messwerte und möchte in einer Schleife die 0,5sec läuft einen Mittelwert ausrechnen und dann immer aus dem alten Mittelwert und dem aktuellen Mittelwert einen neuen basteln. Soweit hätte ich das zusammengeklickt und es funktioniert auch für sich im Test. Doch wenn ich es in mein großes VI übertrage bekomme ich im Schieberegister der äußeren Schleife im durchgehend den eintrag Not a Number. Hat jemand eine Idee warum es im Test funktioniert und wenn ich es in mein großes VI schreibe der Fehler auftaucht? fg Roland RE: Schieberegister Initialisierung mit Array => Not a Number - jg - 28.06.2017 14:28 Vielleicht sind die Werte, die du in deine Mittelung reinschiebst, irgendwann mal NaN, hast du das schon überprüft? Gruß, Jens Oder du schiebst irgendwann einmal in deiner realen Umsetzung ein leeres Array in dein "inneres Schleifen VI", dann kommen nämlich auch NaNs raus. Gruß, Jens RE: Schieberegister Initialisierung mit Array => Not a Number - GerdW - 28.06.2017 14:43 Hallo, zum subVI: - Warum beschränkst du es künstlich auf genau 7 Werte im Array? - Das ständige Aufsummieren der Werte im "Schieberegister" führt bei längerer Anwendung zu Rechenproblemen (Stichwort: Genauigkeit bei Floatingpoint-Datentypen!) - Es gibt Funktionen wie "+1"… RE: Schieberegister Initialisierung mit Array => Not a Number - Roland - 28.06.2017 17:38 Hallo, es kann sein, dass ich durch die Messdaten mal ein NaN ankommt...ich habe jetzt auch probiert das über eine case-Struktur auszuschließen aber das hat so auch nicht funktioniert. Mein Array ist 7 Werte breit und X Werte lang...da ich 7 verschiedene Sensorwerte einlese. RE: Schieberegister Initialisierung mit Array => Not a Number - jg - 28.06.2017 22:04 Und ich habe genau das ausprobiert: (28.06.2017 14:28 )jg schrieb: Oder du schiebst irgendwann einmal in deiner realen Umsetzung ein leeres Array in dein "inneres Schleifen VI", dann kommen nämlich auch NaNs raus.und das führt zu dem von dir monierten Effekt. Zitat:es kann sein, dass ich durch die Messdaten mal ein NaN ankommt...ich habe jetzt auch probiert das überOhne VI keine weitere Hilfe... Gruß, Jens RE: Schieberegister Initialisierung mit Array => Not a Number - Roland - 01.07.2017 15:26 Ich empfange meine Daten per Queue und habe das Problem jetzt so gelöst, dass ich die Anzahl der Elemente in der Queue auslese und den Durchschnitt nur berechne wenn die Anzahl der Elemente ungleich 0 ist. Funktioniert soweit wunderbar... RE: Schieberegister Initialisierung mit Array => Not a Number - GerdW - 01.07.2017 16:17 Wäre es nicht sinnvoller zu verhindern, dass leere Arrays in die Queue hinein geschrieben werden? Oder wertest du etwa nicht den timeout beim QueueRead aus? RE: Schieberegister Initialisierung mit Array => Not a Number - Roland - 03.07.2017 15:58 (01.07.2017 16:17 )GerdW schrieb: Wäre es nicht sinnvoller zu verhindern, dass leere Arrays in die Queue hinein geschrieben werden? Oder wertest du etwa nicht den timeout beim QueueRead aus? Prinzipiell gebe ich dir recht aber der Fall mit dem leeren Array tritt nur im ersten Zeitschritt auf und dann nicht mehr. Also habe ich dadurch später eigentlich keine Probleme mehr. |