LabVIEWForum.de
1d array dezimieren variabel gestalten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: 1d array dezimieren variabel gestalten (/Thread-1d-array-dezimieren-variabel-gestalten)

Seiten: 1 2


1d array dezimieren variabel gestalten - Hummingbird - 06.10.2011 13:19

Hallo LV Gemeinde,

hab ein ziemlich simples Porblem, doch bekomme es nicht in den Griff..

Ich habe ein 1D Array und möchte dieses per "1d array dezimieren" zerlegen. Jetzt weiß ich aber vorher nicht in wieviele sub-arrays.. Das ist aber eine Info die Labview im Laufe zur Verfügung steht.. 3. Dimension eines 3d arrays.. Wie kann ich das automatisieren?

Jeder Vorschlag wäre toll..

Liebe Grüße

H


RE: 1d array dezimieren variabel gestalten - Hummingbird - 06.10.2011 13:59

Hallo nochmal,

eindeutiger formuliert.. Wie kann ich der Funktion "1d array dezimieren" sagen wie viele sub arrays sie erzeugen soll, ohne die Funktion im Blockdiagramm "aufziehen" zu müssen?

Vielen Dank für Eure Mühe

H


RE: 1d array dezimieren variabel gestalten - M@rRy - 06.10.2011 14:05

Mahlzeit,

du könntest das ganze in eine for-Schleife packen, die so oft läuft wie du sub-arrays erstellen willst, und darin immer ein subarray erstellen und den Rest in ein Schieberegister packen. Hoffe ich hab dich auch jetzt richtig verstanden.

Gruß


RE: 1d array dezimieren variabel gestalten - Y-P - 06.10.2011 14:14

Ich würde da eher "Reshape Array" verwenden (falls ich Dich richtig verstanden habe), ansonsten mach mal ein Bsp.:
[attachment=36357]

Gruß Markus


RE: 1d array dezimieren variabel gestalten - Hummingbird - 06.10.2011 15:13

Hi,

super, dass ihr so schnell antwortet.. Vielen Dank..

Mit der For Schleife habe ich es versucht, doch habe ich im Moment ein 1d array.. Wenn ich das in die for-Schleife einleite, dann zerlegt mir das die Schleife doch nur in die einzelnen Einträge und gruppiert nicht..

Anbei ein Screenshot von dem was ich schon habe..

Zu der Reshape Funktion: Mir geht es nicht um umgestalten, sondern um vergleichen von Werten.. Ich möchte den Eintrag an der Stelle i,j,k des 3d arrays mit dem Eintrag i,j,k+1 vergleichen können. K ist hier die Ebene. I und j die Positionen im 2d Array.. Besser, ich hätte gerne das Maximum einer Stelle i,j über dem Parameter k und den zugehörigen Wert k.. und das für alle möglichen i,js..

Liebe Grüße

H


RE: 1d array dezimieren variabel gestalten - jg - 06.10.2011 15:29

Aha, wir sind also immer noch bei deinem anderen Thread und somit verdammt nahe am Doppelposting. Rulez

Gruß, Jens

EDIT: Dass k bei dir die Ebene ist, ist ungünstig. Besser wäre, wenn der erste Index der Seitenindex ist.


RE: 1d array dezimieren variabel gestalten - Hummingbird - 06.10.2011 15:36

Na nicht wirklich.. Will hier auch keinem zu nahe treten.. Das hier ist ja unter einem neuen Topic ein spezielles Problem.. Darauf würde jemand, der den Header des anderen Topic liest nicht aufmerksam.. Hatte auch überlegt es einfach dran zu hängen, doch hier geht es ja speziell um die Funktion "deziemieren 1d array". Wozu ich das brauche ist ja eigentlich nicht so wichtig.. Wenn das jetzt jemandem auf die Füße tritt, dann entschuldige ich mich und bitte den Admin den Thread zu verschieben, oder zu löschen.. Würde ich nicht gut finden, doch nachvollziehen können.. War wie gesagt nicht unreflektiert..

Falls trotzdem jemand einen Lösungsvorschlag hat..

@ Jens: i ist der Seitenindex.. Hatte das nur runter geschrieben im Fließtext.. Danke für die Anmerkung..

Vielen Dank


RE: 1d array dezimieren variabel gestalten - M@rRy - 06.10.2011 15:42

Es gibt die Möglichkeit bei einer Schleife die einzelnen Werte zu übergeben oder aber das gesamte Array, hierfür musst du auf den Knoten klicken und dann "Indexing Array" deaktivieren, dann wird auch das ganze array in der schleife verarbeitet.

Gruß und schönen Feierabend


RE: 1d array dezimieren variabel gestalten - jg - 06.10.2011 15:47

Also wenn ich richtig verstehe, dann hättest du gerne das hier, den MAX-Index k über alle (i,j), also ist Index k als Seitenindex doch günstig:
[attachment=36367]
Gruß, Jens

P.S.: An meiner Antwort siehst du, dass ich nicht nachtragend bin. Aber mit einem erlaubten Hochpushen deines in Vergessenheit geratenen Threads wären wir heute vielleicht schneller am Ziel gewesen.

Falls doch i der Seitenindex ist und du für alle (j,k) das Maximum i suchst, dann so:
[attachment=36368]
Gruß, Jens


RE: 1d array dezimieren variabel gestalten - Hummingbird - 06.10.2011 16:18

Hallo Jens,

ich bin froh, dass Du nicht nachtragend bist, doch wie gesagt: es war keine böse Absicht.. Ich hatte nur gedacht, dass, gemessen an den Views des anderen Threads, keiner mehr antworten wird.. Da ich weiter drüber nachgedacht habe und mir eben das als Lösung sinnig erschien mir aber nur der Baustein gefehlt hat, habe ich einen neuen Thread eröffnet..

Wenn ich Deinen Anatz richtig verstehe vergleicht der dann Einträge auf einer Seite.. Ich würde aber eben gerne seitenübergreifend vergleichen..
Wenn nun k meine Seite lokiert und i und j Einträge auf der Seite, dann hätte ich gerne die Einträge an der position i und j auf allen Seiten untereinander verglichen und eben den maximalen Wert und die zugehörige Seite in zwei 2d arrays ausgegeben.. Deswegen wollte ich über den dezimier Befehl gehen.. Ich hatte mir gedacht, dass ich die Einträge aller Seiten aneinander füge. Da alle Seiten die gleiche Dimension besitzen werden zu vergleichende Werte periodisch wieder zu finden sein. Deshalb wollte ich die in neue 1d arrays packen und dann in diesen 1d arrays mir jeweils den Wert und den Index ausgeben lassen. Nur weiß ich eben im Voraus nicht wieviele Seiten ich habe und ist es wohl auch nicht sauber, wenn ich die Funktion über 500 Subarray ausgaben aufziehe..

@M@rRy: Das mit der Schleife läuft in meinen Augen auch nicht, da LV dann ja den Befehl nur x mal ausführt und mir ein Array füllt, doch immer die selben Daten verwendet..

Vielen Dank

H