sort

Сортировка элементов символьных векторов или матриц

Описание

пример

Y = sort(X) сортирует элементы символьного вектора или матрицы в порядке возрастания. Если X вектор, sort(X) сортирует элементы X в лексикографическом порядке. Если X матрица, sort(X) виды каждый столбец X.

пример

[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(X,dim) сортирует элементы X по измерению dim. Таким образом, если X двумерная матрица, затем sort(X,1) элементы видов каждого столбца X, и sort(X,2) элементы видов каждой строки.

пример

___= sort(___,'descend') виды X в порядке убывания. По умолчанию, sort порядок по возрастанию использования.

Примеры

Сортировка векторных элементов

По умолчанию, 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]

Входные параметры

свернуть все

Введите, который должен быть отсортирован в виде символьного вектора или матрицы.

Размерность, которая задает направление расчета в виде положительного целого числа. Значением по умолчанию является 1. Если dim превышает количество размерностей X, затем sort(X,dim) возвращает X, и [Y,I] = sort(X,dim) возвращает Y = X и I = ones(size(X)).

Выходные аргументы

свернуть все

Отсортированный выходной параметр, возвращенный как символьный вектор или матрица.

Индексы это элементы Y имел в X, возвращенный как символьный вектор или матрица. [Y,I] = sort(X,dim) также возвращает матричный I = ones(size(X)) если значение dim превышает количество размерностей X.

Советы

  • Вызов sort для векторов или матриц чисел, которые не являются символьными объектами, вызывает MATLAB® sort функция.

  • Для комплексного входа Xвид сравнивает элементы их величинами (комплексные модули), вычисленный с abs(X). Если комплексные числа имеют тот же комплексный модуль, sort сравнивает их углы фазы, angle(X).

  • Если вы используете 'ascend' вместо 'descend', затем sort возвращает элементы в порядке возрастания, как это делает по умолчанию.

  • sort использует следующие правила:

    • Это сортирует символьные числа и числа с плавающей запятой численно.

    • Это сортирует символьные переменные в алфавитном порядке.

    • Во всех других случаях, включая символьные выражения и функции, sort использует внутренние правила сортировки.

Представлено до R2006a