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:

Boolsch Array, Zahl der true Einträge zählen?



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!

12.01.2016, 21:02 (Dieser Beitrag wurde zuletzt bearbeitet: 12.01.2016 21:15 von hansi9990.)
Beitrag #1

hansi9990 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 180
Registriert seit: Mar 2015

2019
2014
DE

96xxx
Deutschland
Boolsch Array, Zahl der true Einträge zählen?
Hallo

Mein Problem klingt etwas trivial aber gibt es evtl. ein VI das die Anzahl der True Einträge in einem Boolschen Array ausgibt?

Gruß
Hans
Hm, vielleicht sollte ich erst überlegen und dann posten Wink)
So wie im Bild geht es natürlich auch.


Angehängte Datei(en) Bild(er)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.01.2016, 22:18
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Boolsch Array, Zahl der true Einträge zählen?
Ich wüßte da nichts, aber ich würde es eher so machen:
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.01.2016, 22:23 (Dieser Beitrag wurde zuletzt bearbeitet: 12.01.2016 22:31 von jg.)
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Boolsch Array, Zahl der true Einträge zählen?

Akzeptierte Lösung

Deine Lösung mag dir auf den ersten Blick elegant vorkommen, aber sie ist weder die schnellste noch die resourcen-sparsamste Lösung.

Das Problem ist das "Conditional Indexing": Du erzeugst hier ein neues Array (belegt neuen Speicher). Die Größe des Array kann der LabVIEW-Compiler aber nicht vorab festlegen. Deshalb hängt LabVIEW bei jedem "TRUE" immer ein neues Element an das schon bestehende Array an, es wird also dauernd neuer Speicher alloziert. Auch nicht gerade schnell.

Anders erklärt: Conditional Indexing entspricht (auch in der Realität) dem folgenden Source-Code (Im False-Case wird das Array einfach unverändert belassen):
   

Schneller ist auf jeden Fall die folgende Umsetzung:
   

Gruß, Jens
@Lucki:
Vorsicht, bei sehr großen Arrays geht deine Lösung schief, da der Ausgang von "Boolean to Number" eine I16-Zahl ist. Beim Addieren hast du dann schnell einen Zahlenüberlauf. Aber das lässt sich schnell beheben:
   
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
12.01.2016, 22:41
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Boolsch Array, Zahl der true Einträge zählen?
Nachtrag: So etwas teste ich natürlich gleich an Hand sehr großer Arrays auf Laufzeit. Bei einem Boolschen Array mit 10 Mio Elementen streiten sich bei abgeschalteten Debug-Optionen Luckis und meine Lösung um den ersten Platz, meist ist Lucki etwas schneller. Der Abstand zu Vorschlag von hansi hängt davon ab, wieviele Elemente des Array TRUE sind. Bei sehr vielen True wird der Abstand exorbitant groß.

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
13.01.2016, 11:04
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Boolsch Array, Zahl der true Einträge zählen?
(12.01.2016 22:41 )jg schrieb:  Bei einem Boolschen Array mit 10 Mio Elementen streiten sich bei abgeschalteten Debug-Optionen Luckis und meine Lösung um den ersten Platz, meist ist Lucki etwas schneller.
Aber auf jeden Fall würde ich bei großen Arrays Deine Lösung favorisieren. Du zählst einfach durch und erzeugst nicht erst noch ein zweites Array mit nochmal 10 Mio Elementen.
Wie wäre es denn mit einer "Kreuzung" aus beiden Vorschlägen?
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.01.2016, 18:50
Beitrag #6

hansi9990 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 180
Registriert seit: Mar 2015

2019
2014
DE

96xxx
Deutschland
RE: Boolsch Array, Zahl der true Einträge zählen?
Hallo ihr zwei

Herzlichen Dank für eure Anregungen.
Da sieht man mal wieder das viele Wege nach Rom führen aber auch viele Umwege Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Listenfelder, Optionsfelder, benutzerdefinierte Einträge Kaya 5 4.776 08.08.2023 11:13
Letzter Beitrag: Kaya
Question Große Zahlen in ein boolesches Array Konvertieren Baron 5 4.536 25.09.2018 10:36
Letzter Beitrag: Baron
  Nur Werte in Array wenn Case True PreVIEW 10 10.684 10.02.2017 15:25
Letzter Beitrag: Dalle
  Bekomme kein True aus Event Structure nixblicker 7 4.938 09.02.2017 09:52
Letzter Beitrag: nixblicker
  String in Zahl/ Zahl in String mit Type Cast Jann 6 6.230 18.01.2016 09:02
Letzter Beitrag: Jann
  Event Structure mit Boolean True triggern HotProp 6 6.828 06.07.2015 12:19
Letzter Beitrag: Kiesch

Gehe zu: