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!
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.
Anzeige
06.02.2010, 18:11 (Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2010 18:12 von IchSelbst.)
' 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):
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
06.02.2010, 18:58 (Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2010 18:58 von jg.)