FOR-Schleifen in Matlab
Lassen Sie uns einen Blick auf die FOR-Schleife in Matlab werfen.
Was versteht man unter einer FOR-Schleife? Eine FOR-Schleife ist eine wiederholende Struktur, die ein und denselben Codeblock mehrfach ausführt, abhängig von der Anzahl der festgelegten Durchläufe, bekannt als Iterationen.
Die Syntax für die FOR-Anweisung in Matlab gestaltet sich wie folgt:
for Variable = Start:Schritt:Ende
Anweisungsblock
end
In der ersten Zeile der FOR-Anweisung definieren wir die Schleifenzählervariable sowie drei Schlüsselparameter: Start, Schritt und Ende.
- Der Start-Wert bestimmt den initialen Wert des Schleifenzählers
- Der Schritt-Wert (oder die Inkrementierung) gibt an, um wie viel der Zähler nach jeder Iteration erhöht wird
- Der End-Wert legt den finalen Wert des Schleifenzählers fest, bei dessen Erreichen die Schleife endet.
Der Anweisungsblock umfasst eine Sequenz von Befehlen, die in jeder Iteration der Schleife ausgeführt werden.
Das Wort "end" signalisiert das Ende des Anweisungsblocks.
Hinweis: Die FOR-Schleife wird als "determinierte Schleife" bezeichnet, weil ihre Anzahl an Durchläufen im Voraus feststeht. Für eine Schleife mit nicht festgelegter Anzahl an Durchläufen verwendet man die while- oder do-until-Anweisungen.
Nun zu einem praktischen Beispiel:
Angenommen, wir möchten die Zahlen von 1 bis 9 ausgeben. Mit der FOR-Schleife lässt sich dies einfach realisieren, wie folgt:
for x=1:9
disp(x);
end
Hier ist x die Schleifenzählervariable, mit den Start- und Endwerten 1 beziehungsweise 9.
Da wir keinen Schritt spezifiziert haben, nutzt Matlab standardmäßig einen Inkrement von +1.
1
2
3
4
5
6
7
8
9
Möchten wir jedoch ausschließlich die ungeraden Zahlen von 1 bis 9 ausgeben, setzen wir den Schritt auf 2, wie hier gezeigt:
for x=1:2:9
disp(x);
end
In diesem Fall steuern die Parameter 1:2:9 der for-Funktion den Start (1), den Schritt (2) und das Ende (9) der Schleife.
So wird nur jede ungerade Zahl von 1 bis 9 ausgegeben:
1
3
5
7
9
Und wenn wir von 9 herunter bis 1 zählen möchten, können wir einen negativen Schritt verwenden, so wie hier:
for x=9:-1:1
disp(x);
end
Die for-Anweisung mit den Parametern 9:-1:1 bestimmt hierbei den Startwert (9), den Schritt (-1) und den Endwert (1).
Mit diesem Skript wird in jeder Iteration der Schritt -1 angewandt:
9
8
7
6
5
4
3
2
1
Die FOR-Schleife eignet sich auch hervorragend, um über Arrays oder andere iterierbare Objekte zu iterieren.
Beispielsweise gibt in diesem Skript die Anweisung for x = v die Elemente des Arrays v = [1 2 3 4] aus:
v = [1 2 3 4];
for x=v
disp(x);
end
Das Ergebnis sieht dann so aus:
1
2
3
4
Ich hoffe, diese Erläuterung war für Sie hilfreich.