LabVIEWForum.de - For Schleife: Werte in den nächsten Loop übergeben

LabVIEWForum.de

Normale Version: For Schleife: Werte in den nächsten Loop übergeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Also ich habe eine For-Schleife mit einer nicht festgelegten Anzahl an Durchgängen (Hängt von einer Arraygröße ab, weshalb ich keine Sequenz verwenden kann).

In der For-Schleife sollen Werte ausgerechnet werden, die an bestimmten Positionen in einem Array geschrieben werden sollen. Diese Positionen sind aber nicht identisch mit dem aktuellen Schleifen Durchgang. Wie kann ich ein Array von einer Schleife in die nächste übergeben? Ich habe mal ein Beispiel gebastelt, wie das in einer Sequenz aussehen würde.

Lv71_img[attachment=8915]

Momentan habe ich das so gelöst, dass ich außerhalb der Forschleife ein Array generiere und mit einem Anzeigeelement verbinde. In der For-Schleife lese ich das Array über eine lokale Variable ein, ändere sie ab und schreibe es über eine lokale Variable zurück. Denke aber dass das eine komlizierte Variante ist.
also wenn ich dich richtig verstehe, dann ist dein problem, dass du wenn du den Array in der Schleife bearbeiten möchtest ihn immer aufgefächert bekommst, sobald du ihn in die Schleife führst. Dies kannst du vermeiden, indem du dann am Knotenpunkt wo die Datenleitung in die For-Schleife eintritt die Indizierung entfernst (rechte Mausklick auf den Knoten). Dann steht dir in der Schleife der ganze Array und nicht nur der Wert der aktuellen Iteration zu verfügung. Wenn du das meinst, hilft es dir ja vielleicht weiter.

Gruß
' schrieb:also wenn ich dich richtig verstehe, dann ist dein problem, dass du wenn du den Array in der Schleife bearbeiten möchtest ihn immer aufgefächert bekommst, sobald du ihn in die Schleife führst. Dies kannst du vermeiden, indem du dann am Knotenpunkt wo die Datenleitung in die For-Schleife eintritt die Indizierung entfernst (rechte Mausklick auf den Knoten). Dann steht dir in der Schleife der ganze Array und nicht nur der Wert der aktuellen Iteration zu verfügung. Wenn du das meinst, hilft es dir ja vielleicht weiter.

Gruß

Ne, das ist nicht mein Problem. Die Indizierung habe ich bereits ausgeschaltet, weil die Anzahl und Reihenfolge der For-Schleifen-Durchgänge nicht mit dem Array übereinstimmt.
Ich möchte in Loop 1 das ursprüngliche Array einlesen, dann 1 oder 2 Werte ändern und das geänderte Array an Loop 2 übergeben. In Loop 2 werden wieder Werte geändert und dann an Loop 3 übergeben.
Am Ende nach allen Durchgängen will ich das Resultat aller Änderungen ausgespuckt haben.
Mach auf den Rand des Arrays nen Rechtsklick und füge ein Schieberegister hinzu...das initialisierst du mit deinem leeren Array und schreibst die Ergebnisse innerhalb der Schleife mit "BuildArray" da rein und führst das dann auf den Ausgang (rechts) des Schieberegisters...
' schrieb:Mach auf den Rand des Arrays nen Rechtsklick und füge ein Schieberegister hinzu...das initialisierst du mit deinem leeren Array und schreibst die Ergebnisse innerhalb der Schleife mit "BuildArray" da rein und führst das dann auf den Ausgang (rechts) des Schieberegisters...

War Käse...

[attachment=8917]
Danke, klappt, Hätte ich drauf kommen müssen...Umleitung
' schrieb:Ich möchte in Loop 1 das ursprüngliche Array einlesen, dann 1 oder 2 Werte ändern und das geänderte Array an Loop 2 übergeben. In Loop 2 werden wieder Werte geändert und dann an Loop 3 übergeben.
Warum so kleckerweise? Wenn Du zuerst ein Clusterarray erzeugt mit der Gesamtinformation was alles zu ändern ist (Clusterinhalt = Neuer Wert und zugehöriger Index), dann genügt doch eine einzige Schleife:
[attachment=8919]
Im Prinzip ist es das gleiche wie von Achim, nur etwas vollständiger.
Referenz-URLs