Fortlaufende und nicht fortlaufende Array-Segmente
- Aktualisiert2025-07-30
- 2 Minute(n) Lesezeit
Um die Leistung zu optimieren, erstellt LabVIEW manchmal Array-Slices aus den Arrays, die Sie mit bestimmten Array-Funktionen verbinden. Ein Array-Segment ist ein Array, das aus einem anderen Array erzeugt wurde und einige der Elemente des ursprünglichen Arrays enthält. Array-Segmente werden in der Kontexthilfe von LabVIEW als (Sub-)Array dargestellt, wenn Sie den Mauszeiger über die Verbindung des resultierenden Arrays bewegen. So wird beispielsweise mit (1-D-(Sub)Array aus) angezeigt, dass die Funktion ein Array-Segment erstellt. Mit (1-D-Array aus) dagegen wird angezeigt, dass das resultierende Array alle resultierenden Elemente enthält.
LabVIEW kann fortlaufende Array-Segmente erstellen, in denen die Daten zusammenhängend gespeichert werden. LabVIEW kann auch nicht fortlaufende Array-Segmente erstellen, in denen die Daten nicht zusammenhängend gespeichert werden. Wenn Sie ein Array-Slice mit der Funktion Preallocated Read from Binary File verdrahten, müssen Sie möglicherweise wissen, ob das Array-Slice zusammenhängend oder nicht zusammenhängend ist, da die Funktion je nach verwendetem Array unterschiedliche Unterstützungsstufen bietet.
Unterscheidung zwischen fortlaufenden und nicht fortlaufenden Array-Segmenten
Array-Funktionen in LabVIEW greifen auf Daten in der Reihenfolge row-major zu. Wenn Elemente eines Arrays zeilenweise angeordnet sind, werden die Daten des Arrays fortlaufend gespeichert. Das folgende 2D-Array wird fortlaufend als eine eindimensionale Zeile von 0 bis 15 gespeichert:
Wenn Sie das vorherige Array mit der Funktion Array indizieren verbinden und den Eingang Index (Zeile) auf 0 setzen, kann LabVIEW ein Array oder ein fortlaufendes Array-Segment ausgeben. Das Array-Segment ist fortlaufend, da die Werte im Speicher zusammenhängend dargestellt werden: 0, 1, 2, 3.
Wenn Sie das vorherige Array mit der Funktion Array indizieren verbinden und den Eingang Index (Spalte) auf 0 setzen, kann LabVIEW ein Array oder ein nicht fortlaufendes Array-Segment ausgeben. Das Array-Segment ist nicht fortlaufend, da die Werte im Speicher nicht zusammenhängend dargestellt werden: 0, 4, 8, 12.
Die folgenden Funktionen können möglicherweise ein Array-Segment ausgeben. Wenn eine dieser Funktionen ein Array-Segment ausgibt, können Sie mit Hilfe der folgenden Hinweise feststellen, ob das erstellte Array-Segment fortlaufend oder nicht fortlaufend ist:
- Teil-Array—Wenn LabVIEW die Ausgabe dieser Funktion zusammenhängend im Speicher darstellt, wird ein fortlaufendes Array-Segment erstellt.
- 1D-Array umkehren—Beim Verbinden eines Arrays mit dieser Funktion wird ein nicht fortlaufendes Array-Segment erstellt. Wenn ein bereits umgekehrtes Array-Segment mit dieser Funktion verbunden wird, wird ein fortlaufendes Array-Segment erstellt.
- 1D-Array teilen—Beim Verbinden eines Arrays mit dieser Funktion wird ein fortlaufendes Array-Segment erstellt. Wenn Sie ein nicht fortlaufendes Array-Segment mit dieser Funktion verbinden, ist das resultierende Array-Segment entweder fortlaufend oder nicht fortlaufend, je nachdem, wie das Array-Segment im Speicher dargestellt ist.
- 2D-Array transponieren—Diese Funktion erzeugt ein nicht fortlaufendes Array-Segment, solange kein bereits transponiertes Array mit der Funktion verbunden wird.
- Cluster nach Array—Diese Funktion erzeugt ein fortlaufendes Array-Segment.
- Array indizieren—Diese Funktion erzeugt ein fortlaufendes Array-Segment, solange das Array nicht spaltenweise indiziert wird.
- 1D-Array dezimieren—Diese Funktion erzeugt ein nicht fortlaufendes Array-Segment.