INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

geschachtelte FOR-Schleifen



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!

06.02.2010, 15:28
Beitrag #1

Kopmann Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Nov 2006

8.0 Student
2005
kA

23552
Deutschland
geschachtelte FOR-Schleifen
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.


Angehängte Datei(en)
Sonstige .vi  Rechnung_z_1.vi (Größe: 20,27 KB / Downloads: 193)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2010, 18:11 (Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2010 18:12 von IchSelbst.)
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
geschachtelte FOR-Schleifen
' 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):


Angehängte Datei(en) Thumbnail(s)
   

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2010, 18:58 (Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2010 18:58 von jg.)
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
geschachtelte FOR-Schleifen
Die Build-Array + Delete from Array Funktionen sind überflüssig:

Lv80_img
Sonstige .vi  Rechnung_z_1.vi (Größe: 13,89 KB / Downloads: 188)


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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2010, 19:20
Beitrag #4

Kopmann Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Nov 2006

8.0 Student
2005
kA

23552
Deutschland
geschachtelte FOR-Schleifen
Hi,

danke für eure Hilfe. Ich wusste doch, meine Lösung ist zu kompliziert.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2010, 20:13
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
geschachtelte FOR-Schleifen
Naja, es geht natürlich noch einfacher, denn die innere FOR-Schleife braucht man auch nicht:
   
Aber diese wolltest du ja unbedingt beibehalten.

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: