Arrays... immer wieder Arrays - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Arrays... immer wieder Arrays (/Thread-Arrays-immer-wieder-Arrays) |
Arrays... immer wieder Arrays - nurso - 14.08.2014 10:04 Hallo Leuts'n'Members! Immer wenn's um Arrays geht, könnt ich vorher schon weglaufen... Index-Spalte-Zeile, Array-Operationen, Umformungen. Zick-Zack-Zuck. Irgendwie wird es immer ein Try-and-Error Spiel bei mir. Aktuelles Beispiel: Gehe mit einem 2D-Array, welches ich aus einem Text-File mit 2 Spalten geholt habe, direkt auf den Autoindizierten-Tunnel einer For-Schleife. In der Schleife wende ich eine Operation auf die erste Spalte an. #1 - Da geht's schon mal los.. Läuft die Schleife mit der Zeilen- oder Spaltenanzahl. Man weiss es net genau, also testen. Anzeigen lassen. Was auch immer. *Läuft wie gehofft* #2 - In der Schleife dann kommt ein 1D-Array an. Gut, ist auch an der Verdrahtung erkenntlich. Bei der Abarbeitung der Elemente sind Zeilen- und Spalten-Index aber offensichtlich vertauscht. *Hier wird das 1D-Array offenbar transformiert*. Wird in etwa nachvollziehbar, wenn man sich die Ablage der Elemente im Speicher vor Augen führt. #3 - Das war noch eine recht leichte Herausforderung. Bei Verkettungen und anderen Operationen auf mehrdimensionalen Arrays, steigt mein Vorstellungsvermögen inkl. Fantasie, wie bei LV die Definitionen liegen könnten ganz aus.. Kann mir jemand eine gute Quelle empfehlen, Erläuterungen aus denen klar und strukturiert hervorgeht, wie ich das Kapitel 'Arrays' unter LV in Zukunft sicherer bewältigen kann? Danke und heute noch ein paar gelungene Verdrahrtungen! nurso RE: Arrays... immer wieder Arrays - GerdW - 14.08.2014 10:11 Hallo nurso, #1 In der Schleife erhälst du die 1D-Arrays zeilenweise. Umgekehrt beim Erzeugen eines 2D-Arrays werden 1D-Arrays auch zeilenweise zu 2D-Arrays autoindizierend zusammengefügt. Bei 3D-Arrays geht es dann mit der Seite/page los, dann Zeilen/rows, dann Spalten/columns… #2 ??? Ich kann dir hier nicht folgen… Du bekommst eine Zeile autoindiziert (siehe #1) und arbeitest dich durch deren Elemente, d.h. spaltenweise Abarbeitung… #3 Grundregel: page/row/column… Zitat:Erläuterungen aus denen klar und strukturiert hervorgeht, wie ich das Kapitel 'Arrays' unter LV in Zukunft sicherer bewältigen kann?Man erstellt sich ein kleines Test-VI, in dem man die Array-Operation, die man vorhat, mit zwei Beispiel-Arrays durchführt. Du willst ein 1D-Array an ein 2D-Array anhängen: Test-VI mit BuildArray erstellen und ausprobieren! 2D-Arrays verknüpfen? Test-VI und ausprobieren… Grundregel #3 bedenken und man hat das irgendwann RE: Arrays... immer wieder Arrays - jg - 14.08.2014 10:17 (14.08.2014 10:11 )GerdW schrieb: #3 Grundregel: page/row/column…Und wenn du mal mehr als 3 Dimensionen beim Array erstellst, dann hast du etwas falsch gemacht... Gruß, Jens RE: Arrays... immer wieder Arrays - nurso - 14.08.2014 11:20 (14.08.2014 10:11 )GerdW schrieb:Zitat:Erläuterungen aus denen klar und strukturiert hervorgeht, wie ich das Kapitel 'Arrays' unter LV in Zukunft sicherer bewältigen kann?Man erstellt sich ein kleines Test-VI, in dem man die Array-Operation, die man vorhat, mit zwei Beispiel-Arrays durchführt. Hallo Gerd, habe folgendes verstanden - Du kennst keine gute Darstellung zu dieser Thematik. Also weiter (selber) Try-and-Error.. begreifen wie es sich NI ausgedacht hat.... und dann irgendwann freuen! RE: Arrays... immer wieder Arrays - GerdW - 14.08.2014 11:34 Hallo nurso, Zitat:begreifen wie es sich NI ausgedacht hatIch habe bisher keine großen Unterschiede im Vergleich zu anderen Programmiersprachen festgestellt. Ein 2D-Array wird auch sonst in der Art von array[i,j] beschrieben und verarbeitet. LabVIEW autoindiziert erst i und dann j… RE: Arrays... immer wieder Arrays - rolfk - 14.08.2014 13:26 (14.08.2014 11:20 )nurso schrieb:(14.08.2014 10:11 )GerdW schrieb:Zitat:Erläuterungen aus denen klar und strukturiert hervorgeht, wie ich das Kapitel 'Arrays' unter LV in Zukunft sicherer bewältigen kann?Man erstellt sich ein kleines Test-VI, in dem man die Array-Operation, die man vorhat, mit zwei Beispiel-Arrays durchführt. Arrays in LabVIEW sind grundsätzlich logisch und gut strukturiert implementiert, so auch alle Funktionen dazu. Du kannst Dir mit ein paar Grundregelen wie von Gerd erklärt alles sehr einfach ableiten. Selber hat das bei mir keinen Sinn weil ich solche Regelen zwar inhaltsgemäss lernen kann, aber dann im konkreten Fall doch jedesmal wieder zu zweifeln beginne ob es jetzt von innen nach aussen oder umgekehrt ist. Ein kleines TestVI ist so erstellt mit ein paar Mausklicks und hat sich in 20 Jahren LabVIEW Erfahrung oft genug bewährt. Vielleicht geht's Dir hier wie mir, aber ich käme nie auf den Gedanken zu behaupten dass die Array Implementation in LabVIEW nicht gut strukturiert ist, sondern nur dass ich scheinbar zu faul bin um mir so etwas in mein Gehirn zu stampfen. RE: Arrays... immer wieder Arrays - Lucki - 15.08.2014 10:39 Ich mache es auch jetzt noch wie Rolf mit schnellem Probieren. In grauer Vorzeit hatte ich mir aber auch mal eine Eselsbrücke ausgedacht. Vielleicht nützt das jemandem. [attachment=50446] Den Elementen in der Arraykonstanten habe ich im Beispiel Werte gegeben, die ihrem Index entsprechen, so wie er allgemein üblich ist. Man muß sich nun die Zahlen in der Indexanzeige waagrecht statt senkrecht untereiander vorstellen, dann hat man direkt den Elementindex. Also: zuerst Zeilenindex (senkrechter Index), dann Spaltenindex (waagrechter Index). Und für den Indexanschluß an einer for-Schleife gilt: Es geht in der Indexanzeige ganz oben los, also mit dem Zeilenindex. :offtopic:Das ist übrigens nicht das erste mal, dass ein LF-Anfänger mit einem Problem daherkommt, aber nicht sagt, helft mir, sondern erst mal Labview kritisiert. Das kennt man doch schon: So ist immer noch die einfachste Art, sich selbst indirekt als Computerversteher auszuweisen, kräftig auf Microsoft zu schimpfen. |