/ / FOR цикъл над вектора на колоната срещу вектора на реда [дубликат] - matlab, for-loop

FOR loop over vector колона срещу вектор ред [дубликат] - matlab, for-loop

Току-що писах цикъл „някакво предсказване“ в Matlab и се сблъсках с това странно поведение:

Имам матрицата A:

A = [
3
9
5
0];

И искам да използвам a foreach контур (както е обяснено тук) на A.

Ако напиша това:

for i = A
disp("for")
i
end

Резултатът ще бъде:

for

i =

3
9
5
0

Но когато използвам транспонирането, резултатът ще се промени:

for i = A"
disp("for")
i
end

Резултат:

for

i =

3

for

i =

9

for

i =

5

for

i =

0

Кой е резултатът, който искам.

Някой може ли да обясни какво става тук? Каква е разликата между тези два случая?

Отговори:

6 за отговор № 1

когато пишете

A = [
3
9
5
0];

създавате вектор на колона. Тъй като Matlab повтаря над колони, получавате един отговор (първата колона). Транспонирайки го, получавате вектор от редове с 4 колони и следователно 4 отговора във всяка колона.


5 за отговор № 2

В Matlab, the for цикълът итератира над колоните. http://www.mathworks.es/es/help/matlab/ref/for.html