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

Parameter der for-Schleife ändern

 

Shannen
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 18.06.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2013, 00:35     Titel: Parameter der for-Schleife ändern
  Antworten mit Zitat      
Hey,

ich habe das Problem, dass ich nicht weiß wie ich den Parameter i meiner Schleife ändere. Meine Schleife sieht grob gesehen wie folgt aus.

for i=1:length(line)

do ....

j = i % i ist hier gleich 15
while ...
do ...
j = j+1; % solange durchgeführt bis j =36
end

end

% Meine Kommentare zeigen bis wohin mein Skript läuft.

Ich habe in der inneren while Schleife mein j bis 36 hochgezählt, was ja quasi mein i ist. Nun möchte ich aber das meine for schleife dieses 'neue i = 36' annimmt. Ich hab schon ein paar Sachen die mir in den Sinn kamen versucht, jedoch übernimmt meine for-schleife einfach nicht die 36, sie versucht immer wieder an dem i=15 anzuknüpfen, was ich ja nicht will.

Ich hoffe jemand kann mir helfen.

Schöne Grüße,
Shannen
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.06.2013, 12:30     Titel: Re: Parameter der for-Schleife ändern
  Antworten mit Zitat      
Hallo Shannen,

Es gibt kein "do" in Matlab.
Die teilweisen Auslassungen mit den "..." machen es sehr schwer zu verstehen, was der Code eigentlich macht bzw. machen soll. Ich habe z.B. keine Idee wieso in der Zeile "j=i" gelten soll "i ist hier gleich 15" - das sollte doch von der Schleife abhängen, oder?

Wie Du richtig beobachtet hast, wird in einer FOR-Schleife eine Änderunge des Schleifenzählers ignoriert. Deswegen sollte man dies auch nicht machen, da es nur Verwirrung stiftet.

Wenn Du einen Schleifen-Zähler innerhalb der Schleife ändern möchtest, benötigst Du eine WHILE-Schleife:
Code:
i = 1;
while i <= length(line)
  disp(i);
  i = i + 1;
end

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
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.