WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

FOR-Schleife wiederholt sich

 

razmatazz.guest

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2013, 12:07     Titel: FOR-Schleife wiederholt sich
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2013, 12:21     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
razmatazz.guest

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2013, 13:13     Titel:
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2013, 14:02     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
razmatazz.guest

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2013, 14:54     Titel:
  Antworten mit Zitat      
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
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.