INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Schieberegister Initialisierung mit Array => Not a Number



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!

28.06.2017, 14:18
Beitrag #1

Roland Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Apr 2017

2016
2017
kA



Schieberegister Initialisierung mit Array => Not a Number
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


Angehängte Datei(en)
12.0 .vi  außere Schleife.vi (Größe: 6,84 KB / Downloads: 13)

12.0 .vi  innere Schleife.vi (Größe: 17,37 KB / Downloads: 12)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.06.2017, 14:28 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2017 14:42 von jg.)
Beitrag #2

jg Offline
CLD & CLED
LVF-Team

Beiträge: 14.921
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Schieberegister Initialisierung mit Array => Not a Number
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

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2017, 14:43
Beitrag #3

GerdW Online
______________
LVF-Team

Beiträge: 14.750
Registriert seit: May 2009

09SP1, 11SP1, 17
1995
DE_EN

10×××
Deutschland
RE: Schieberegister Initialisierung mit Array => Not a Number
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"…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2017, 17:38
Beitrag #4

Roland Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Apr 2017

2016
2017
kA



RE: Schieberegister Initialisierung mit Array => Not a Number
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2017, 22:04 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2017 22:05 von jg.)
Beitrag #5

jg Offline
CLD & CLED
LVF-Team

Beiträge: 14.921
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Schieberegister Initialisierung mit Array => Not a Number
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 über
eine case-Struktur auszuschließen aber das hat so auch nicht funktioniert.
Glas1 Ohne VI keine weitere Hilfe... Glas2

Gruß, 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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2017, 15:26
Beitrag #6

Roland Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Apr 2017

2016
2017
kA



RE: Schieberegister Initialisierung mit Array => Not a Number

Akzeptierte Lösung

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...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
01.07.2017, 16:17
Beitrag #7

GerdW Online
______________
LVF-Team

Beiträge: 14.750
Registriert seit: May 2009

09SP1, 11SP1, 17
1995
DE_EN

10×××
Deutschland
RE: Schieberegister Initialisierung mit Array => Not a Number
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?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.07.2017, 15:58
Beitrag #8

Roland Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Apr 2017

2016
2017
kA



RE: Schieberegister Initialisierung mit Array => Not a Number
(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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  String zu Number umwandeln galilio 6 1.529 01.09.2016 15:38
Letzter Beitrag: GerdW
  Boolean Array (>32-Bit!) to Number Daniel_S 2 1.219 27.07.2016 13:44
Letzter Beitrag: jg
  Initialisierung Lokaler Variable Hosenscheisser 4 1.111 18.07.2016 09:45
Letzter Beitrag: Hosenscheisser
  Schieberegister anhalten Axel_Cologne 1 906 03.05.2016 10:39
Letzter Beitrag: jg
  Fract/Exp String To Number Function grba123 2 1.014 17.08.2015 11:44
Letzter Beitrag: GerdW
  MultiColumn Listbox Reihen number Fabian257 6 1.496 16.06.2015 10:36
Letzter Beitrag: Fabian257

Gehe zu: