Сортировка элементов символьных векторов или матриц
[
показывает индексы что каждый элемент 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
использует внутренние правила сортировки.