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

zwei Zähler in einer for-Schleife

 

Zinderella
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 24.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2013, 13:22     Titel: zwei Zähler in einer for-Schleife
  Antworten mit Zitat      
Hallo,

kann man denn nicht 2 Zähler in einer for schleife haben?

z.B:
Code:

for i=1:5:2000
q=1:322
px = xu(jstart(i):jstart(i+4));
tr30= tr50(q);
h_lin= [h_lin, Linie(px,tr30)];
end
 


so geht es jedenfalls nicht.. wäre aber schön
und 2 for schleifen geht ja auch nicht weil dann die innere immer bis zum ende durchlaufen wird, dies soll aber nicht so sein.und hintereinander kann ich sie auch nciht laufen lassen weil dadrin auch eine funktion aufgerufen wird...
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 24.09.2013, 13:28     Titel:
  Antworten mit Zitat      
Hallo

man kann schon mehrere Zähler in einer Schleife haben, Inkrement heißt das Stichwort.

so z.B.

Code:

q = 1;
for i=1:5:2000
  px = xu(jstart(i):jstart(i+4));
  tr30= tr50(q);
  h_lin= [h_lin, Linie(px,tr30)];
  if q<322
     q= q+1;
  end
end

 
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: 24.09.2013, 13:42     Titel: Re: zwei Zähler in einer for-Schleife
  Antworten mit Zitat      
Halöl Zinderella,

Streng genommen hat eine FOR-Schleife natürlich nur einen Zähler.
Aber man kann diesen einen Zähler mehrfach verwenden:
Code:
a = linspace(0, 1, 100);
b = linspace(0,250, 100);
for k = 1:100
  ia = a(k);
  ib = b(k);
  disp([ia, ib]);
end

Oder, wie bereits vorgeschlagen, man kann eine weitere Variable vor der Schleife initialisieren und per "x = x + 1" in der Schleife inkrementieren.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Zinderella
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 24.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2013, 15:50     Titel:
  Antworten mit Zitat      
super vielen dank! ihr seid so schlau!

irgendwie klappt es trotzdem nicht ..

Code:

h_fin=[];
k=1;
for i=1:5:1285
load jstart50
load tr50
px = xi(jstart(i):jstart(i+4));
py = yi(jstart(i):jstart(i+4));
tr30= tr50(k);
h_fin= [h_fin, Linie(px,py,tr30)];
if k<322
    k=k+1;
end
end
 


bekomme die meldung:
??? Attempted to access jstart(1293); index out of bounds because numel(jstart)=1292.

wie kann es sein? die länge von jstart ist 1292, und die schleife geht ja nur bis 1285. Warum versucht er 1293 einzusetzen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Zinderella
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 24.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2013, 16:40     Titel:
  Antworten mit Zitat      
ok hat sich erledigt! fehler gefunden! vielen dank!!! hat mir sehr geholfen!
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.