|
|
FOR-Schleife wiederholt sich |
|
razmatazz.guest |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2013, 12:07
Titel: FOR-Schleife wiederholt sich
|
 |
|
 |
|
Guten Tag,
ich verzweifle gerade.
Ich habe einen Code, der bisher einwandfrei funktioniert hat. Jetzt haben sich Eingangsparameter etwas verändert, die der Code-Passage aber eigentlich egal sein können.
Jedenfalls wiederholt sich eine FOR-Schleife ständig. Wenn ich die Schleife manuell rauskopiere und in das CMD-Fenster einfüge und starte: kein Problem.
Auch wird sie zuvor korrekt durchlaufen. Doch irgendwann wird sie immer erneut gestartet. Als wenn die Laufvariable überschrieben/gelöscht würde.
Im Debugmodus wird am Ende die Laufvariable tatsächlich als undefiniert angegeben, wenn ich sie mir ausgeben lassen möchte. Aber sie wird nirgendwo in der Schleife überschrieben oder gelöscht.
Bisher wurde sie nach dem END der FOR Schleife gelöscht. Habe es sicherheitshalber mal an eine spätere Stelle verschoben, keine Besserung.
Eine Fehlermeldung wird auch nicht ausgegeben.
Windows/ Matlab wurden mehrmals neugestartet.
Weiß jemand woran das liegen kann, dass die Laufvariable am Ende der Schleifenlaufzeit verschwindet und die Schleife sich selber neustartet?
Verzweifelte Grüße,
Christoph
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 24.11.2013, 12:21
Titel:
|
 |
Hallo,
hast du in der Schleife möglicherweise einen rekursiven Aufruf?
Ansonsten müsstest du wohl deinen Code zur Verfügung stellen, damit man dir helfen kann.
Grüße,
Harald
|
|
|
razmatazz.guest |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2013, 13:13
Titel:
|
 |
Ich habe einen Kaffee getrunken und etwas Abstand genommen und jedes Skript manuell sequentiell gestartet. Das Skript mit der besagten For-Schleife arbeitet korrekt, wird aber u.a. auch innerhalb einer while-Schleife aufgerufen. Das hatte ich nicht mehr im Kopf, und vermutlich liegt da das Problem.
Das eine Laufvariable einfach verschwindet, KANN einfach nicht sein. Daher bin ich ganz zuversichtlich den Fehler dort zu finden.
Code hatte ich nicht eingefügt, da er wie gesagt korrekt arbeitete. Weil allerdings bisher nie Probleme auftraten, wollte ich mal hören, ob es vlt. in Matlab zu "Variablen-Vergessen" kommen kann.
Ich danke für die Auseinandersetzung mit meiner Problem.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 24.11.2013, 14:02
Titel:
|
 |
Hallo,
wenn etwas in einer while-Schleife aufgerufen wird, dann ist es ja der Sinn der Sache, dass es wiederholt ausgeführt wird.
Es wäre mir neu, dass bei einer normalen for-Schleife der Schleifenindex verschwindet. Dazu wäre ein reproduzierbares Beispiel hilfreich.
Anders sieht es bei einer parallelen for-Schleife (parfor) aus. Hier ist aufgrund der variablen Ausführungsreihenfolge nicht deterministisch, welche Iteration als letzte ausgeführt wird. Daher steht der Schleifenindex in dem Fall nach Ausführung der Schleife auch nicht mehr zur Verfügung.
Grüße,
Harald
|
|
|
razmatazz.guest |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2013, 14:54
Titel:
|
 |
Ok, es lag an der aufrufenden While-Schleife.
Danke für den Hinweis mit parfor. Zwar noch nicht benutzt, aber bin mir sicher, dass ich damit mal konfontriert werde und einen potentiellen Fehler im Hinterkopf zu haben, ist schonmal gut.
Einen ruhigen Sonntag,
Christoph
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|