LabVIEWForum.de
Array in mehrere Subarrays unterteilen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Array in mehrere Subarrays unterteilen (/Thread-Array-in-mehrere-Subarrays-unterteilen)



Array in mehrere Subarrays unterteilen - bnymn - 21.10.2014 07:01

Hallo zusammen,

hab folgendes Problem. Ich hoffe ihr könnt mir weiterhelfen.

Ich hab ein 1d Array mit Messdaten. Und ich habe 4 bis 6 Zeitpunkte, die auch in einem Array abgespeichert sind.
Diese Zeitpunkte bilden jeweils die Intervallgrenzen für die Subarrays, die ich bilden möchte.

Hier mal ein Beispiel:

Messwerte:
[17
56
78
76
4
32
243
55
78
9
36
7
6
43
2]

Zeitpunkte array
[3
5]

Subarrays:
[17
56
78
76]

[4
32]

[243
55
78
9
36
7
6
43
2]

Vielen Dank im Voraus =)


RE: Array in mehrere Subarrays unterteilen - GerdW - 21.10.2014 07:26

Hallo bnymn,

kannst du auch die Logik hinter deiner Array-Zerlegung erläutern?

Wie kommst du bei einen Zeitpunkte-Array mit nur 2 Werten dazu, hinterher 3 Subarrays zu erstellen?
Wie korreliert das erste Subarray mit 4 Werten mit dem ersten Zeitpunkt "3"? Wie kommst du auf das zweite Subarray mit 2 Werten?
Hmm
Beispiele sind ja schön und gut, aber wenn die Logik dahinter unklar ist, helfen die auch nicht!

Ansonsten: Es gibt da die Funktion ArraySubset, die kennt einen Index- und einen Längen-Eingang…


RE: Array in mehrere Subarrays unterteilen - bnymn - 21.10.2014 07:34

Hallo GerdW,

danke. Also die Zeitpunkte sind die Indices für Einteilung.

Werte zwischen Index 0 und 3 : Subarray1
Zwischen 3 und 5 : Subarray2
Zwischen 5 bis zum Ende: Subarray3

Ich versuche das grad mit einer for schleife zu machen. Habe mir überlegt bei jeder iteration ein neues 1d array zu erstellen mit den jeweiligen grenzen. Ich weiß aber nicht, wie ich bei jeder iteration ein neues array erstellen kann.


RE: Array in mehrere Subarrays unterteilen - GerdW - 21.10.2014 07:37

Hallo bnymn,

Zitat:Werte zwischen Index 0 und 3 : Subarray1
Zwischen 3 und 5 : Subarray2
Zwischen 5 bis zum Ende: Subarray3
Was heißt bei dir "zwischen"? Bitte auch auf mathematisch korrekte Beschreibung achten!
Zu welchem Subarray soll Index 3 und Index 5 gehören?

Ich rechne Index3&5 jeweils dem folgenden Subarray zu, in der Art von array[x; y):
Werte von Index 0 bis 3: ArraySubset(Array; Index=0; Length = 3-0)
Werte von Index 3 bis 5: ArraySubset(Array; Index=3; Length = 5-3)
Werte von Index 5 bis x: ArraySubset(Array; Index=5; Length = x-5)

Lässt sich mit einer Schleife und einem Schieberegister sehr einfach erledigen. Schöne Übung für den Einstieg!


RE: Array in mehrere Subarrays unterteilen - bnymn - 21.10.2014 07:55

Hallo GerdW,

ich hab mal so angefangen. Kannst du bitte genauer erklären, wie ich das mit einem Schieberegister realisieren kann?


RE: Array in mehrere Subarrays unterteilen - GerdW - 21.10.2014 08:18

Hallo bnymn,

genau so wie ich es beschrieben habe:
[attachment=51074]

Du hast immer noch keine in sich schlüssige Erläuterung deiner Subarray-Erstellung geliefert…


RE: Array in mehrere Subarrays unterteilen - bnymn - 21.10.2014 08:35

Hallo GerdW,

vielen Dank. Genau so wollte ich es haben.

Die Erstellung der subarrays funktioniert so wie du es beschrieben hast: [x; y).