как поместить результаты итерации в массив в Matlab - PullRequest
1 голос
/ 30 марта 2011
a=[1 2 3 4
   5 6 7 8
   8 7 6 5
   4 3 2 1]

for i=(1:4)
b=(a(i,:));
c=sort(b,2)
end

Пожалуйста, как я могу получить результаты этой итерации в одном массиве (4x4) вместо того, чтобы получать результаты c = sort (b, 2) отдельно для каждого цикла.

1 Ответ

1 голос
/ 30 марта 2011

Вам не нужно использовать цикл вообще!Вы пытаетесь отсортировать столбцы в каждой строке.Это может быть достигнуто путем предоставления необязательного аргумента для sort.

c=sort(a,2);
c=
     1     2     3     4
     5     6     7     8
     5     6     7     8
     1     2     3     4

должно дать вам то, что вам нужно.Аргумент 2 указывает sort сортировать a по столбцам.Если вы хотите отсортировать его по строкам, вы бы использовали c=sort(a,1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...