LabVIEWForum.de - geschachtelte FOR-Schleifen

LabVIEWForum.de

Normale Version: geschachtelte FOR-Schleifen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi LabVIEW User,

nach fast drei Jahren Abstinenz komme ich wieder dazu LabVIEW zu benutzen.
Ich möchte ein paar Freunden helfen ein Simulationsprogramm zu schreiben.
Dafür habe ich im Anhang ein Beispiel eines möglichen Lösungsweges angehängt. Der mir aber umständlich erscheint und daher möchte ich hier nach smarteren Lösungen fragen.

Grundgedanke:

Ich gebe dem Programm einen Datensatz. Mit diesem werden Rechnungen durchgeführt. Die neuen Ergebnisse sollen im nächsten Durchlauf statt dem vorhergehenden benutzt werden. Solange ich will.

Programmaufbau:

1. Ich gebe dem Beispiel-Programm ein 1D-Array. ( 1 Zeile; 2 Spalten)
2. Insgesamt sollen z.B. 10 Mal die gleiche Rechenschrittabfolge ausgeführt werden. (erste FOR-Schleife)
3. Die zweite FOR-Schleife enthält im Beispiel zwei Rechnungen (Addition, Subtraktion – daher auch zwei Durchläufe für die Schleife) die über eine State-Maschine nacheinander angesprochen werden. Dies soll auch so bleiben!!!
4. Da der Aufbau jeder Zeile mit seinen Spalten identisch ist habe ich den Vorteil beim Indizieren der Elemente die einzelnen Spalten (der Zeile direkt) anzusprechen. (Würde ich nur eine Schleife benutzen müsste ich über den Index die Position der vorhergehenden Ergebnisse jedes Mal errechnen.)


Problem:

Um die ersten errechneten Werte als neue Zeile nach einem jedem Schleifendurchlauf einzufügt, trenne ich am Ende der Schleife die erste (alte) Zeile von der Zweiten (neuen) mit dem Vi „Aus Array entfernen“. Danach übergebe ich die neue Zeile an das Schieberegister. Am Anfang der ersten Schleife speise ich die Werte in ein "Teilarray ersetzen"-Vi als neues SubArray ein. Die Ausgangswerte fließen in dasselbe Vi ein. Damit meine SubArray-Werte für die neue Rechnung genutzt werden überschreibe ich die Ausgangswerte.

Mir erscheint die Lösung für die erste Schleife zu kompliziert. Gibt es smartere Wege?

Danke schon mal für eure Hilfe
Kopi

PS: Bitte speichert eure Lösungsvorschläge unter LabVIEW 8.0 ab.
' schrieb:Mir erscheint die Lösung für die erste Schleife zu kompliziert. Gibt es smartere Wege?
So ganz konnte ich das Muster noch nicht verstehen.
Für das linke Schieberegister der äußeren FOR-Schleife reicht aber folgendes (zwischen Schieberegister und 2. FOR-Schleife gibt es also nix mehr):
Die Build-Array + Delete from Array Funktionen sind überflüssig:

Lv80_img[attachment=24233]

Gruß, Jens
Hi,

danke für eure Hilfe. Ich wusste doch, meine Lösung ist zu kompliziert.
Naja, es geht natürlich noch einfacher, denn die innere FOR-Schleife braucht man auch nicht:
[attachment=24234]
Aber diese wolltest du ja unbedingt beibehalten.

Gruß, Jens
Referenz-URLs