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

Для просмотра документации необходимо авторизоваться на сайте