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

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

свернуть все

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

  • Если 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 не поддерживается для входа timetable.

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

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

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

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

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

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

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

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

direction не поддерживается для входа timetable. Использование 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.

Эта пара "имя-значение" не поддерживается для входа timetable. Использование 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