LabVIEWForum.de - Aus 2D-Array jede x-te Zeile in weiteres 2D-Array schreiben

LabVIEWForum.de

Normale Version: Aus 2D-Array jede x-te Zeile in weiteres 2D-Array schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Community,

derzeit beiße ich mir an folgendem Problem die Zähne aus:

Ich hab ein Test-Vi erstellt, in dem ich ein 2D-Array erstelle. Hierin liegt nicht die Schwierigkeit. Jetzt soll jede x-te Zeile (z.B. jede 4te Zeile schreibe in Array) der Daten in ein weiteres Array geschrieben werden. Wobei die gewünschte x-te Zeile über ein Bedienelement eingegeben werden soll.

[attachment=61391]

An dieser Stelle komme ich einfach nicht weiter.

Über Hilfe wäre ich sehr Dankbar.

Ich nehme an, dass die Lösung sehr einfach ist, jedoch komme ich einfach nicht drauf.Wall Meine Suche im Forum war bisher ohne Erfolg.

Vielen Dank!

Gruß PJ

lv19_img
Hallo PJ,

herzlich willkommen im Forum!

Zitat:Jetzt soll jede x-te Zeile (z.B. jede 4te Zeile schreibe in Array) der Daten in ein weiteres Array geschrieben werden. Wobei die gewünschte x-te Zeile über ein Bedienelement eingegeben werden soll.
1. Du benötigst eine FOR-Loop.
2. Die maximale Anzahl Iterationen ergibt sich aus der Anzahl der Zeilen des Input-Arrays dividiert durch "x".
3. In der Loop indizierst du die x*i-te Zeile des 2D-Arrays und gibst sie über einen autoindizierenden Tunnel aus.
4. Fertig.

Zum Bild:
Warum muss das 2D-Array in jeder Iteration erstellt werden? Reicht einmal nach der Schleife nicht aus?
Die Shiftregister sollten initialisiert werden…
Die Shiftregister werden komplett unnötig, wenn du die "Samples" über autoindizierende Tunnel aus er Schleife ausgibst…
Hallo GerdW,

vielen Dank für deine Hilfe und deine Anmerkungen zum Programmcode!Top2 Das Problem konnte ich auf Basis deiner Hinweise lösen!!!Thanx

Für jeden der Interesse an der Lösung hat, anbei der Programmcode dazu!

[attachment=61392]

Für weitere Hinweise bin ich offen!Big Grin

Gruß PJ
Hallo PJ,

Zitat:vielen Dank für … deine Anmerkungen zum Programmcode!
Zur gezeigten Lösung:
- die Multiplikation mit 100 muss man nicht dreimal in der ersten Schleife durchführen, das reicht einmal mit dem resultierenden 2D-Array danach
- statt der (float) Division sollte man die Modulo-Funktion (Quotient&Remainder) verwenden: hier wird mit Integer gerechnet!
- in der zweiten Schleife benötigt man nicht die Konstanten "1" und "2", IndexArray zählt automatisch hoch!
- Dieses IndexArray sollte so vereinfacht werden, dass nur eine komplette Spalte indiziert wird (dann entfällt auch noch die "0"!)
- Dadurch, dass du die komplette Spalte indizierst, benötigst du das BuildArray nach der Schleife auch nicht mehr…

Allgemeiner Hinweis:
Solange du nur Bilder vom Code postest, wirst du bestenfalls auch nur Bilder von Code zurückbekommen.
Sobald du dagegen echten Code postest, besteht die (nicht geringe) Chance, dass du auch echten Code zurückbekommst!
Hallo GerdW,

danke für dein Feedback zum Programmcode! Ich habe mal versucht deine Anmerkungen umzusetzen und das VI zu vereinfachen!Tippen

Gruß PJ
Hallo PJ,

es geht noch etwas einfacher:
[attachment=61394]
Referenz-URLs