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 

Array nach Cluster umwandeln....



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.2010, 11:19
Beitrag #1

Labneuling Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Apr 2010

9.0
2010
de


Deutschland
Array nach Cluster umwandeln....
Hallo!

Ich hab ein Cluster mit 6 Boolschen Elementen. Je nachdem welche aktiviert werden kommt eine andere dezimal Zahl heraus. Jetzt wollte ich eine dezimal Zahl in ein Boolsches Array umwandeln und das in ein Cluster um den 6 Boolschen Elementen im Cluster ein Wert zuweisen. Mein Problem ist jetzt das bei der Umwandlung von Array zu Cluster die Dimension sich ändert bzw. einige Werte neu dazukommen. Wie ist das möglich? Leider gibts bei Cluster nicht die Option wie bei Arrays ein Teilbereich zu lesen.

Hab mal ein Bild angefügt wo man es sieht.
   

MfG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.06.2010, 11:39
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Array nach Cluster umwandeln....
Rechtsklick auf Array To Cluster -> "Cluster Size..."

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.2010, 12:02 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2010 12:05 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Array nach Cluster umwandeln....
Hallo LabNeuling,

und was bitte soll die FOR-Loop mit dem Vergleich???
Der Vergleich mit einem FALSE ist nichts anderes als ein boolsches NOT - welches als Primitive verfügbar ist...
Die FOR-Loop ist nicht nötig, da LV-Primitives (meist) auch mit Arrays umgehen können (aka Polymorphismus).
Eine Konstante am "N"-Eingang der Loop ist bei aktiviertem AutoIndexing ebenfalls nicht nötig, es sei denn, du willst nicht alle Arrayelemente bearbeiten...

Also die gesamte FOR-Loop durch ein einfaches NOT ersetzen!

Konstrukte wie deine nennt man Rube-GoldbergSmile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2010, 12:35
Beitrag #4

Labneuling Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Apr 2010

9.0
2010
de


Deutschland
Array nach Cluster umwandeln....
Also die For-Schleife brauchte ich um am Ausgang immer ein Array mit 6 Boolschen Werten zu haben. Wenn der Eingang eine "3" ist dann kommt normalerweise bestimmt nicht 000011 raus. Der Vergleich in der For-Schleife war/ist nur zum "initialisieren", wenn LabVIEW automatisch alles auf False setzt ist gut, macht aber bestimmt nicht jede Programmiersprache.

Zitat:Die FOR-Loop ist nicht nötig, da LV-Primitives (meist) auch mit Arrays umgehen können (aka Polymorphismus).

Jetzt weiß ich es.


Zitat:Also die gesamte FOR-Loop durch ein einfaches NOT ersetzen!

Ich denke das würde aus 0 eine 1 und aus 1 eine 0 machen. Wieso sollte ich das brauchen. Das macht die For-Schleife nicht...


Edit: Ach und es sollte mit True verglichen werden. Hab es aus einem anderen SubVi und hier ist es wohl falsch
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2010, 12:41 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2010 14:00 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Array nach Cluster umwandeln....
Hallo Labneuling,

in deiner FOR-Loop vergleichst du ein Bit mit FALSE, machst also aus einer "1" eine "0" und umgekehrt!
Das kannst du auch mit einem NOT erledigen, viel eleganter und IMHO "richtiger"...
Da du nur 6 Bits brauchst, kannst du auch ein ArraySubset nach deinem NumberToBoolArray einfügen - statt einer FOR-Loop mit 6 Iterationen.

Vorteil der polymorphen Funktionen: Üblicherweise rechnet LV schneller, wenn man Funktionen direkt auf Arrays anwendet statt per FOR-Loop jedes Element einzeln zu behandeln. Bei einem Array mit nur 6 Elementen mag der Unterschied nur gering sein, aber das "richtige" Programmieren (bzw. das Erlernen desselben bzw. das Ausnutzen von LabVIEW-typischen Strukturen) von Anfang an erspart später viel Ärger bzw. "Optimierungsbedarf"...

Edit:
Ach, du wolltest mit TRUE vegleichen? Wird ja immer besserSmile
Also so etwas wie: IF TRUE THEN TRUE ELSE FALSE???
Denk mal drüber nach... (Hier noch ein Link zu Rube-Goldberg, Leben&Wirken 2. AbsatzSmile)

Edit2:
Nach kurzer Denkpause kam das hier raus (Lv09_img2):
   
Dürfte so ungefähr das sein, was du wolltest (ClusterSize=6)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2010, 14:37 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2010 14:40 von Jopi.)
Beitrag #6

Jopi Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Oct 2006

13.0.1f5 32Bit
2000
EN

82110
Deutschland
Array nach Cluster umwandeln....
Nu gebts ihm doch...    
oh, zu langsam, aber bitteschön, identisch. Da gibt es dann
eine gewisse Chance, das das wirklich die kürzeste Lösung ist...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2010, 15:27
Beitrag #7

Labneuling Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Apr 2010

9.0
2010
de


Deutschland
Array nach Cluster umwandeln....
Also Jens G hat schon alles gesagt was ich wissen wollte.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2010, 15:44
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Array nach Cluster umwandeln....
Hallo Labneuling,

"Also Jens G hat schon alles gesagt was ich wissen wollte."
Das macht dein gezeigtes Beispiel aber nicht besser... Und ich nehme an, du wolltest noch (mehr als nur Clustersize) dazulernen?

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
  Elemente Cluster in Cluster ansprechen simcum 3 3.739 02.10.2023 10:49
Letzter Beitrag: th13
  Wann schließe ich (ActiveX, Excel) Referenzen? + wie Cluster to Array? TpunktN 9 9.915 28.01.2020 14:14
Letzter Beitrag: TpunktN
  (Array of )Cluster direkt als Icon? NoWay 4 4.084 16.10.2019 11:16
Letzter Beitrag: Trinitatis
  Tabellenstring nach Array 3D hansi9990 0 2.599 07.09.2018 10:33
Letzter Beitrag: hansi9990
  Fehlermeldung 91 bei 2D Array umwandeln zu Variant und wieder zurück Tobzn 4 4.916 31.03.2018 21:05
Letzter Beitrag: Tobzn
  STL-Datei umwandeln in 2D-Array ahebauer 2 4.454 21.12.2017 10:45
Letzter Beitrag: ahebauer

Gehe zu: