Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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
Anzeige
06.10.2011, 13:59 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2011 13:59 von Hummingbird.)
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?
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ß
Nur wer neugierig ist, lernt ständig dazu.
Mythos:
Mit LabView lassen sich gut Programme leichter entwickeln
Realität:
Mit LabView lassen sich gut und schlechte Programme leichter enwickeln!
06.10.2011, 14:14 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2011 14:15 von Y-P.)
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
06.10.2011, 15:13 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2011 15:20 von Hummingbird.)
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
06.10.2011, 15:29 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2011 15:30 von jg.)
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..
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
Nur wer neugierig ist, lernt ständig dazu.
Mythos:
Mit LabView lassen sich gut Programme leichter entwickeln
Realität:
Mit LabView lassen sich gut und schlechte Programme leichter enwickeln!
06.10.2011, 15:47 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2011 16:02 von jg.)
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:
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:
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
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..