Ich habe gerade in Matlab eine "irgendwie foreach" Schleife geschrieben und bin auf dieses seltsame Verhalten gestoßen:
Ich habe die Matrix A:
A = [
3
9
5
0];
Und ich möchte eine verwenden foreach
Schleife (wie erklärt) Hier) auf der A.
Wenn ich das schreibe:
for i = A
disp("for")
i
end
Das Ergebnis wird sein:
for
i =
3
9
5
0
Wenn ich jedoch die Transponierung verwende, ändert sich das Ergebnis:
for i = A"
disp("for")
i
end
Ergebnis:
for
i =
3
for
i =
9
for
i =
5
for
i =
0
Welches ist das Ergebnis, das ich will.
Kann jemand erklären, was hier vor sich geht?
Antworten:
6 für die Antwort № 1wenn du tippst
A = [
3
9
5
0];
Sie erstellen einen Spaltenvektor. Da Matlab über Spalten iteriert, erhalten Sie eine Antwort (die erste Spalte). Durch die Transponierung erhalten Sie einen Zeilenvektor mit 4 Spalten und somit 4 Antworten mit jeweils einer Spalte.
5 für die Antwort № 2
In Matlab, der for
Schleife durchläuft Spalten. http://www.mathworks.es/es/help/matlab/ref/for.html