/ / FOR Schleife über Spaltenvektor vs. Zeilenvektor [Duplikat] - Matlab, For-Schleife

FOR-Schleife über Spaltenvektor gegen Zeilenvektor [duplizieren] - Matlab, for-Schleife

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 № 1

wenn 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