LabVIEWForum.de
Array mit Array auslesen und Array erzeugen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Array mit Array auslesen und Array erzeugen (/Thread-Array-mit-Array-auslesen-und-Array-erzeugen)

Seiten: 1 2


Array mit Array auslesen und Array erzeugen - Harry2000 - 06.11.2015 19:55

Hallo,

ich brauche Eure Hilfe. Ich habe ein 1D Array und aus dem lese ich die Position der Maximalwerte mit dem "Threshold Detector VI" aus und bekomme das 1D "Positions" Array, mit der max. Werte Position. Nun will ich aus dem ursprünglichen Array die dazu gehörigen Maxwerte mit dem "Positions" Array auslesen. Mit dem Index Array erscheint es mir ziemlich umständlich, da ich das Array erst aufschlüsseln muss.
Ich hoffe Ihr versteht was ich will und entschuldige mich schon im voraus, wenn das zu banal ist Smile .

Danke und Grüße

Harry

Version lv11_img Student


RE: Array mit Array auslesen und Array erzeugen - GerdW - 06.11.2015 21:15

Hallo,

ohne jetzt in dein VI zu schauen: es gibt die Funktion ArrayMinMax! Und wenn du aus einem Array mehrere Werte anhand eines Arrays von Indizes auslesen willst, bietet sich eine FOR-Loop mit einem IndexArray drin an...


RE: Array mit Array auslesen und Array erzeugen - Trinitatis - 07.11.2015 00:47

(06.11.2015 21:15 )GerdW schrieb:  ohne jetzt in dein VI zu schauen:

Das wäre auch recht schwierig. Irgendiwe ist da NIX angehängt, außer der 2011-GrafikBlink

Gruß, Marko


RE: Array mit Array auslesen und Array erzeugen - Harry2000 - 07.11.2015 02:19

Für alle VI Hungrigen, habe ich hier mal ein Beispiel erstellt. Wink Bei einer Schleife müsste ich erstmal schauen,wie ich das hin bekomme. Hoffe es gibt eine einfachere Methode.


RE: Array mit Array auslesen und Array erzeugen - GerdW - 07.11.2015 08:21

Das mit der Schleife wirst du schon hinbekommen - nachdem du ein paar Grundlagenkurse absolviert hast! Ist ganz einfach...


RE: Array mit Array auslesen und Array erzeugen - Harry2000 - 07.11.2015 08:59

Guten Morgen,
Danke GerdW war doch sehr einfach. Smile

Labview ist zu einfach aufgebaut, das man gleich los legen kann. Kannte den autoindizierten Tunnel nicht, aber ohne ihn, ware es ja auch keine FOR-Schleife.Big Grin

Meine Lösung im Anhang


RE: Array mit Array auslesen und Array erzeugen - UncleBob80 - 07.05.2021 11:17

(07.11.2015 08:59 )Harry2000 schrieb:  Guten Morgen,
Danke GerdW war doch sehr einfach. Smile

Labview ist zu einfach aufgebaut, das man gleich los legen kann. Kannte den autoindizierten Tunnel nicht, aber ohne ihn, ware es ja auch keine FOR-Schleife.Big Grin

Meine Lösung im Anhang

Hallo,

diese Methode ist in der Tat die Einfachste .. allerdings bei großen Array leider auch sehr langsam. Grund hierfür ist die in der Loop-Schleife vorgenommene Indizierung des Arrays!
Wenn man die Auto-Indizierung der For-Schleife benutzt, laufen Schleifen sehr schnell durch ...

Hier anbei meine Lösung, wie man auch bei sehr großen Array zu schnellen Lösungen kommt .. ist sicher nicht sehr Speicheroptimal gelöst, aber immerhin schnell.

Als Beispiel habe ich heute mal nen Daten-Array mit ca. 65.000.000 Datenpunkten und ein Array mit ca. 650.000 Index-Punkten durchlaufen lassen .. dauert mittels oben benannter Methode mal ca. 5min. Mit der Methode via Queue ca. 1 Sekunde! Wink

VG
Thomas


RE: Array mit Array auslesen und Array erzeugen - GerdW - 07.05.2021 11:26

Hallo Thomas,

Zitat:Hier anbei meine Lösung, wie man auch bei sehr großen Array zu schnellen Lösungen kommt .. ist sicher nicht sehr Speicheroptimal gelöst, aber immerhin schnell.

Als Beispiel habe ich heute mal nen Daten-Array mit ca. 65.000.000 Datenpunkten und ein Array mit ca. 650.000 Index-Punkten durchlaufen lassen .. dauert mittels oben benannter Methode mal ca. 5min. Mit der Methode via Queue ca. 1 Sekunde!
Liefert deine Lösung auch das korrekte (bzw. erwartete) Ergebnis?

Deine zweite Schleife vergleicht den Schleifeniterator "i" mit dem zu suchenden Index: was passiert, wenn man erst nach Index 2 suchen lässt und dann nach Index 1?
Genau das passiert:
[attachment=61830]
Das Ergebnis ist zwar (möglicherweise) schnell geliefert, aber falsch…

Und so langsam ist der Vorgang nun wirklich nicht:
[attachment=61832]

P.S.: Profil_ergaenzen


RE: Array mit Array auslesen und Array erzeugen - UncleBob80 - 07.05.2021 12:10

Hi,

also ich gebe dir Recht .. aber zur Not lässt man das Array mit den Indecies vorher der Größe nach sortieren! Wink

Hmmm ... bezüglich der Geschwindigkeit hatte ich in der Tat schon etwas gestutzt! Ich kann es leider nicht mehr reproduzieren. Aber noch letzte Woche hatte ich bei diese Mehtode mit der Indizierung in der Schleife über 5min gewartet! Hatte da allerdings die Indiecies als "Double" vorliegen und habe eben noch einmal versucht, ob es an der Umformung gelegen haben könnte .. aber NEIN.

Damit hast du mich überzeugt und ich "nehme alles zurück, und behaupte das Gegenteil". Wer weiß, warum es neulich bei mir so langsam lief. Aber wie gesagt, kann es gerade selber nicht reproduzieren.

Danke und VG
Thomas


RE: Array mit Array auslesen und Array erzeugen - GerdW - 07.05.2021 12:17

Hallo Thomas,

Zitat:Hatte da allerdings die Indiecies als "Double" vorliegen und…
Das du in deinem VI-Vorschlag aber U32 verwendet hattest, war aber auch nicht "korrekt"… Big Grin