Сортировка элементов символьных векторов или матриц
[ показывает индексы что каждый элемент Y,I] =
sort(___)Y имел в исходном векторе или матричном X.
Если X m- n матрица и вы сортируете элементы каждого столбца (dim= 2 ), затем каждый столбец I вектор сочетания соответствующего столбца X, таким образом, что
for j = 1:n Y(:,j) = X(I(:,j),j); end
Если X двумерная матрица, и вы сортируете элементы каждого столбца, массив I показывает индексы строки что элементы Y имел в исходном матричном X. Если вы сортируете элементы каждой строки, I показывает индексы первоначального столбца.
По умолчанию, sort сортирует элемент вектора или матрицы в порядке возрастания.
Сортировка элементов следующего символьного вектора:
syms a b c d e sort([7 e 1 c 5 d a b])
ans = [ 1, 5, 7, a, b, c, d, e]
Найти индексы что каждый элемент нового векторного или матричного Y имел в исходном векторе или матричном X, вызовите sort с двумя выходными аргументами.
Сортировка матричного X возврат матрицы индексов, которые каждый элемент отсортированной матрицы имел в X:
X = sym(magic(3)); [Y, I] = sort(X)
Y =
[ 3, 1, 2]
[ 4, 5, 6]
[ 8, 9, 7]
I =
2 1 3
3 2 1
1 3 2При сортировке элементов матрицы, sort может работать вдоль столбцов или строк той матрицы.
Сортировка элементов следующей символьной матрицы:
X = sym(magic(3))
X = [ 8, 1, 6] [ 3, 5, 7] [ 4, 9, 2]
По умолчанию, sort элементы видов команды каждого столбца:
sort(X)
ans = [ 3, 1, 2] [ 4, 5, 6] [ 8, 9, 7]
Чтобы отсортировать элементы каждой строки, используйте, устанавливает значение dim опция к 2:
sort(X,2)
ans = [ 1, 6, 8] [ 3, 5, 7] [ 2, 4, 9]
sort может отсортировать элементы вектора или матрицы в порядке убывания.
Сортировка элементов этого вектора в порядке убывания:
syms a b c d e sort([7 e 1 c 5 d a b], 'descend')
ans = [ e, d, c, b, a, 7, 5, 1]
Сортировка элементов каждого столбца этого матричного X в порядке убывания:
X = sym(magic(3)) sort(X,'descend')
X = [ 8, 1, 6] [ 3, 5, 7] [ 4, 9, 2] ans = [ 8, 9, 7] [ 4, 5, 6] [ 3, 1, 2]
Теперь отсортируйте элементы каждой строки X в порядке убывания:
sort(X, 2, 'descend')
ans = [ 8, 6, 1] [ 7, 5, 3] [ 9, 4, 2]
Вызов sort для векторов или матриц чисел, которые не являются символьными объектами, вызывает MATLAB®
sort функция.
Для комплексного входа Xвид сравнивает элементы их величинами (комплексные модули), вычисленный с abs(X). Если комплексные числа имеют тот же комплексный модуль, sort сравнивает их углы фазы, angle(X).
Если вы используете 'ascend' вместо 'descend', затем sort возвращает элементы в порядке возрастания, как это делает по умолчанию.
sort использует следующие правила:
Это сортирует символьные числа и числа с плавающей запятой численно.
Это сортирует символьные переменные в алфавитном порядке.
Во всех других случаях, включая символьные выражения и функции, sort использует внутренние правила сортировки.