"For Loop"
Hur fungerar en "For Loop"? Jag har läst en del på "doc for" som är en inbyggd funktion i Matlab. Men Jag förstod knappt något.
Jag skulle vilja ha ett exempel och förklarande text gärna.
En for-loop inom programmering är en sorts välsminkad while-loop. En while-loop säger i princip: "När 'det här' stämmer, gör 'den här saken'." Vi kan då definiera en variabel som vi bara använder för att räkna hur många varv vi gått i loopen. Vi kan kalla denna variabel för "count". Vi vill använda den för att addera 5 till något tal x precis tio gånger. Om vi skriver detta som en while-loop blir det:
int count = 0;
int x = 0;
while ( count < 10) {
x = x + 5; //Adderar fem till talet x
count = count + 1; //Lägger till ett till count, så att vi håller koll på hur många varv vi gått i loopen
}
Det är lite uttömmande. Det är lätt att glömma bort den sista kodraden, och då få en oändlig loop. En for-loop löser detta problemet. Vi skriver då:
int x = 0;
for (int count = 0; count < 10; count++) {
x = x + 5;
}
"int count = 0" definierar vår count-variabel, "count < 10" kontrollerar hur stor count får bli, och "count++" adderar ett till count för varje varv vi går.
Värt att nämna är att for-loopar ser lite annorlunda ut i Matlab jämfört med andra programmeringsspråk, även om de fungerar i princip likadant. Om man vill loopa igenom någonting 10 gånger kan man köra följande kod:
for i = 1:10
disp(i);
end
1:10 skapar en vektor med värdena 1, 2, 3, ..., 10. Det som händer är att det som är innanför loopen kommer att köras just tio gånger. Första gången gäller att i=1, andra gången att i=2 osv. Det disp(i); gör är bara att skriva ut värdet på i.
Du kan leka runt lite själv, förhoppningsvis hjälper det dig att förstå vad som händer. Prova också att t.ex. byta ut 1:10 mot 20:25 eller något annat.