Looking for matlab Keywords? Try Ask4Keywords

MATLAB LanguageFür Schleifen


Bemerkungen

Über Spaltenvektor iterieren

Eine häufige Fehlerquelle versucht, die Elemente eines Spaltenvektors zu durchlaufen. Ein Spaltenvektor wird wie eine Matrix mit einer Spalte behandelt. (In Matlab gibt es eigentlich keinen Unterschied.) Die for Schleife wird einmal ausgeführt, wobei die Schleifenvariable auf die Spalte gesetzt ist.

% Prints once: [3, 1]
my_vector = [1; 2; 3];
for i = my_vector
    display(size(i))
end

Ändern der Iterationsvariablen

Das Ändern der Iterationsvariablen ändert ihren Wert für die aktuelle Iteration, hat jedoch keinen Einfluss auf den Wert in nachfolgenden Iterationen.

% Prints 1, 2, 3, 4, 5
for i = 1:5
    display(i)
    i = 5; % Fail at trying to terminate the loop
end

Sonderfallleistung von a:b auf der rechten Seite

Das grundlegende Beispiel behandelt 1:n als normale Instanz, bei der ein Zeilenvektor erstellt und anschließend iteriert wird. Aus Leistungsgründen behandelt Matlab a:b oder a:c:b indem der Zeilenvektor nicht vollständig erstellt wird, sondern jedes Element einzeln erstellt wird.

Dies kann durch geringfügige Änderung der Syntax erkannt werden.

% Loops forever
for i = 1:1e50
end
% Crashes immediately
for i = [1:1e50]
end

Für Schleifen Verwandte Beispiele