exponenta event banner

issorted

Определение сортировки массива

Описание

пример

TF = issorted(A) возвращает логический скаляр 1 (true) когда элементы A перечислены в порядке возрастания и 0 (false) в противном случае.

  • Если A является вектором, то issorted возвращает 1, когда векторные элементы находятся в порядке возрастания.

  • Если A является матрицей, то issorted возвращает 1, когда каждый столбец A находится в порядке возрастания.

  • Если A является многомерным массивом, то issorted возвращает 1, когда A в порядке возрастания вдоль первого размера, размер которого не равен 1.

  • Если A является расписанием, то issorted возвращает 1, когда его вектор времени строки находится в порядке возрастания. Чтобы проверить порядок времени строк или переменных расписания с дополнительными опциями, используйте issortedrows функция.

пример

TF = issorted(A,dim) возвращает 1, когда A сортируется по размеру dim. Например, если A является матрицей, то issorted(A,2) возвращает 1, когда каждая строка A находится в порядке возрастания.

пример

TF = issorted(___,direction) возвращает 1, когда A сортируется в порядке, указанном direction для любого из предыдущих синтаксисов. Например, issorted(A,'monotonic') возвращает 1, если элементы A по возрастанию или по убыванию.

пример

TF = issorted(___,Name,Value) указывает дополнительные параметры для проверки порядка сортировки. Например, issorted(A,'ComparisonMethod','abs') проверяет, A сортируется по величине.

TF = issorted(A,'rows') возвращает 1 при сортировке элементов первого столбца матрицы. Если первый столбец содержит повторяющиеся элементы, то issorted просматривает порядок второго столбца, чтобы определить TF. В общем, issorted смотрит на колонку сразу справа, чтобы определить TF если текущий и предыдущий столбцы имеют повторяющиеся элементы.

  • Если A является расписанием, то issorted проверяет, находится ли вектор времени строки в порядке возрастания.

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

Примечание

Этот синтаксис не рекомендуется. Использовать issortedrows вместо этого.

Примеры

свернуть все

Создайте вектор и проверьте, отсортирован ли он по возрастанию.

A = [5 12 33 39 78 90 95 107];
issorted(A)
ans = logical
   1

Создайте матрицу 5 на 5 и проверьте, отсортирована ли каждая строка в порядке убывания.

A = magic(5)
A = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

issorted(A,2,'descend')
ans = logical
   0

Сортировать каждую строку A в порядке убывания с использованием sort и проверьте, что результат имеет убывающие строки.

B = sort(A,2,'descend')
B = 5×5

    24    17    15     8     1
    23    16    14     7     5
    22    20    13     6     4
    21    19    12    10     3
    25    18    11     9     2

issorted(B,2,'descend')
ans = logical
   1

Создайте 2-D массив строк и определите, отсортирован ли каждый столбец.

str = ["Horse","Chicken";"cow","Goat"]
str = 2x2 string
    "Horse"    "Chicken"
    "cow"      "Goat"   

issorted(str)
ans = logical
   1

Определите, отсортированы ли строки слева направо.

issorted(str,2)
ans = logical
   0

Определите, отсортирована ли каждая строка по убыванию слева направо.

issorted(str,2,'descend')
ans = logical
   1

Создание вектора, содержащего комплексные числа и NaN значения.

A = [NaN NaN 1+i 1+2i 2+2i 3+i];

Проверьте, что NaN элементы размещаются первыми в векторе, а остальные элементы сортируются по действительной части.

issorted(A,'MissingPlacement','first','ComparisonMethod','real')
ans = logical
   1

После третьего и четвертого элементов A имеют равную действительную часть, issorted проверяет, отсортирована ли также мнимая часть этих элементов.

imag(A(3))
ans = 1
imag(A(4))
ans = 2

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

свернуть все

Входной массив, заданный как вектор, матрица, многомерный массив, массив ячеек символьных векторов или расписание.

  • Если A содержит отсутствующие значения, такие как NaN, NaT, <undefined>, и missing, то по умолчанию, issorted требует, чтобы они были помещены в конец для возврата 1.

  • Если A является сложным, то по умолчанию issorted определяет порядок сортировки по величине элементов. Если есть последовательные элементы с равной величиной, то issorted также проверяет фазовый угол в интервале (-λ, δ] для разрыва связей.

  • Если A является массивом ячеек символьных векторов или строковым массивом, то issorted определяет порядок сортировки с использованием порядка кода для UTF-16 схемы кодирования символов. Сортировка зависит от регистра. Дополнительные сведения о отсортированных массивах символов и строк см. в разделе Порядок сортировки для массивов символов и строк.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | categorical | datetime | duration | timetable

Поддержка комплексного номера: Да

Размерность для работы, заданная как целочисленный скаляр. Если значение не указано, то по умолчанию используется первый размер массива, размер которого не равен 1.

Рассмотрим матрицу A. issorted(A,1) проверяет, находятся ли данные в каждом столбце A сортируется.

issorted(A,2) проверяет, находятся ли данные в каждой строке A сортируется.

dim не поддерживается для ввода расписания.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Направление сортировки, указанное как одно из следующих:

  • 'ascend' - Проверка, находятся ли данные в порядке возрастания. Данные могут содержать последовательные повторяющиеся элементы.

  • 'descend' - Проверка, находятся ли данные в порядке убывания. Данные могут содержать последовательные повторяющиеся элементы.

  • 'monotonic' - Проверка, находятся ли данные в порядке убывания или возрастания. Данные могут содержать последовательные повторяющиеся элементы.

  • 'strictascend' - Проверка, находятся ли данные в строгом порядке по возрастанию. Данные не могут содержать повторяющиеся или отсутствующие элементы.

  • 'strictdescend' - Проверка, находятся ли данные в строгом порядке убывания. Данные не могут содержать повторяющиеся или отсутствующие элементы.

  • 'strictmonotonic' - Проверка, находятся ли данные в строгом порядке по убыванию или по возрастанию. Данные не могут содержать повторяющиеся или отсутствующие элементы.

direction не поддерживается для ввода расписания. Использовать issortedrows вместо этого.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: issorted(A,'MissingPlacement','last')

Размещение недостающих значений (NaN, NaT, <undefined>, и missing) указывается как пара, разделенная запятыми, состоящая из 'MissingPlacement' и одно из следующих:

  • 'auto' - Недостающие элементы должны быть размещены последними в порядке возрастания и первыми в порядке убывания для возврата 1.

  • 'first' - Для возврата 1 необходимо сначала разместить отсутствующие элементы.

  • 'last' - Недостающие элементы должны быть размещены последними для возврата 1.

Эта пара имя-значение не поддерживается для ввода расписания. Использовать issortedrows вместо этого.

Метод сравнения элементов, указанный как разделенная запятыми пара, состоящая из 'ComparisonMethod' и одно из следующих:

  • 'auto' - Проверить, A сортируется по real(A) когда A является реальным и проверьте, A сортируется по abs(A) когда A является сложным.

  • 'real' - Проверить, A сортируется по real(A) когда A является реальным или сложным. Если A имеет элементы с последовательными равными действительными частями, затем проверить imag(A) чтобы разорвать связи.

  • 'abs' - Проверить, A сортируется по abs(A) когда A является реальным или сложным. Если A имеет элементы с последовательными равными величинами, затем проверить angle(A) в интервале (-δ, δ] для разрыва связей.

Подробнее

свернуть все

Порядок сортировки для массивов символов и строк

MATLAB ® сохраняет символы как Unicode ®, используя UTF-16 схему кодирования символов. Символьные и строковые массивы сортируются в соответствии с порядком UTF-16 кодовых точек. Для символов, которые также являются символами ASCII, этот порядок означает, что буквы верхнего регистра приходят перед строчными буквами. Цифры и некоторые знаки препинания также приходят перед буквами.

Расширенные возможности

.

См. также

| |

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