LabVIEWForum.de
2D-SubArray frei in 3D- bzw. 2D-Array einfügen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: 2D-SubArray frei in 3D- bzw. 2D-Array einfügen (/Thread-2D-SubArray-frei-in-3D-bzw-2D-Array-einfuegen)



2D-SubArray frei in 3D- bzw. 2D-Array einfügen - F.Bi - 06.07.2015 12:42

In ein 3D- bzw. 2D-Array soll ein 2D-SubArray einfügen werden. Mit Replace Array Subset kann man leider die Position in einem 3D- bzw. 2D-Array nicht frei eingeben, was mit einem Element geht.

So etwas wird doch eigentlich nicht gerade selten benötigt. Gibt es wirklich kein fertiges VI für diesen Zweck?
Falls wirklich nicht, hat jemand ein schnelles und komfortables VI, das man nutzen könnte?

Hintergrund:
Es werden Messdaten aufgenommen, die nachfolgend einer Auswertung bedürfen. Diese Auswertung wurde bisher mit Excel (Macros) vorgenommen. Neben den Messwerten sollen die bearbeiteten Dateien später auch Meta-Daten und verschiedene Berechnungen enthalten.
Hier mal ein vereinfachtes Beispiel:
Im vorgestellten Kopf sollen gewisse Meta-Daten (Infos die durch den Benutzer eingegeben z.B. Typ und Datum) ergänzt werden. Weiterhin soll ausgehend von der Start und Stop Zeit die Prozesszeit errechnet und ergänzt werden.
Offsets, welche nach Markierung im Diagramm berechnet werden, sollen mit den Messwerten verrechnet und eingefügt werden.

PS: Habe gerade gesehen, dass es so eine Anfrage schon mal gab.
Vielleicht hat inzwischen aber schon jemand ein feines VI...


RE: 2D-SubArray frei in 3D- bzw. 2D-Array ersetzen - GerdW - 06.07.2015 12:58

Hallo Frank,

Zitat:In ein 3D- bzw. 2D-Array soll ein 2D-SubArray einfügen werden. Mit Replace Array Subset
Warum nimmst du eine Funktion zum ERSETZEN von Arrayelementen, wenn du EINFÜGEN willst? Hmm

Zitat:Im vorgestellten Kopf sollen gewisse Meta-Daten (Infos die durch den Benutzer eingegeben z.B. Typ und Datum) ergänzt werden.
Wie wäre es mit einer (autoindizierenden) Schleife, in der du jeweils ein (1) Element ersetzt…


RE: 2D-SubArray frei in 3D- bzw. 2D-Array einfügen - F.Bi - 06.07.2015 13:21

Gerd, dein Kopfkratzen nach ich nachvollziehen.
Zuerst werden zusätzliche Daten eingefügt, falls Änderungen vorgenommen werden, müssen diese ersetzt werden.
Das Array wird also zuerst auf die Anzahl Spalten und Zeilen ergänzt und dann die Werte entsprechend einem Formular ersetzt.

Mit einer einzigen Schleife ist es nicht getan, da müss schon etwas geschaltet werden. Oder sehe ich das falsch?
Inzwischen habe ich mal mit einer Schleife "gespielt", da könnte ich ab einer gewissen Spalte das 2D-SubArray einfügen, aber so klappt es nicht ab einer gewissen Spalte. Es geht wohl wirklich nur Element nach Element. Dann muss aber das SubArray in einzelne Elemente zerlegt werden und dann einzeln in das Ausgangsarray eingesetzt werden...


RE: 2D-SubArray frei in 3D- bzw. 2D-Array einfügen - GerdW - 06.07.2015 13:26

Hallo Frank,

da Arrays in LabVIEW immer "rechteckig" sein müssen (gleiche Anzahl Elemente in jeder Spalte/Zeile/Seite/etc.), legt man sein Array am besten schon von Anfang an mit der nötigen Größe an und ersetzt dann nur noch die jeweiligen Elemente…

Alles andere führt (insbesondere bei den von dir erwähnten 3D-Arrays) schnell zu ausufernden Speicherallokationen!


RE: 2D-SubArray frei in 3D- bzw. 2D-Array einfügen - F.Bi - 06.07.2015 14:07

(06.07.2015 13:21 )F.Bi schrieb:  Das Array wird also zuerst auf die Anzahl Spalten und Zeilen ergänzt und dann die Werte entsprechend einem Formular ersetzt.

Gerd, genau das wird mit dem Ergänzen von Spalten und Zeilen gemacht.


RE: 2D-SubArray frei in 3D- bzw. 2D-Array einfügen - F.Bi - 07.07.2015 13:24

Ich habe es dann doch mit zwei verschachtelten Schleifen gelöst...