issortedrows

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

Синтаксис

TF = issortedrows(A)
TF = issortedrows(A,column)
TF = issortedrows(___,direction)
TF = issortedrows(___,Name,Value)
TF = issortedrows(tblA)
TF = issortedrows(tblA,'RowNames')
TF = issortedrows(tblA,rowDimName)
TF = issortedrows(tblA,vars)
TF = issortedrows(___,direction)
TF = issortedrows(___,Name,Value)

Описание

пример

TF = issortedrows(A) возвращает логический скаляр 1 (true), когда элементы первого столбца матричного A перечислены в порядке возрастания. В противном случае issortedrows возвращается 0 (false). Когда первый столбец имеет последовательные повторные элементы, issortedrows определяет, в порядке возрастания ли следующий столбец, и повторяет это поведение для следования за равными значениями.

пример

TF = issortedrows(A,column) возвращается 1, когда A сортируется на основе столбцов, заданных в векторном column. Например, issortedrows(A,[4 6]) сначала проверяет, в порядке возрастания ли четвертый столбец A, то проверки, если шестой столбец в порядке возрастания, чтобы повредить связи.

пример

TF = issortedrows(___,direction) возвращается 1, когда первый столбец A находится в порядке, заданном direction для любого из предыдущих синтаксисов. Например, issortedrows(A,'monotonic') проверяет, в порядке возрастания или убывания ли первый столбец A. direction может также быть массивом ячеек из символьных векторов, представляющим несколько направлений для каждого проверяемого столбца. Например, issortedrows(A,[2 3],{'ascend' 'descend'}) проверяет, в порядке возрастания ли второй столбец A, то проверки, если третий столбец должен в порядке убывания повредить связи.

пример

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

пример

TF = issortedrows(tblA) проверки, если строки таблицы в порядке возрастания основаны на элементах в первой переменной. Если элементы в первой переменной повторяются, то issortedrows проверяет элементы во вторую переменную и так далее.

Если tblA является расписанием, то issortedrows проверяет, основаны ли строки tblA в порядке возрастания на его временах строки. Времена строки расписания маркируют строки по первому измерению расписания.

пример

TF = issortedrows(tblA,'RowNames') проверки, если строки таблицы в порядке возрастания основаны на ее именах строки. Имена строки таблицы маркируют строки по первому измерению таблицы.

Этот синтаксис не поддержан, когда tblA является расписанием.

пример

TF = issortedrows(tblA,rowDimName) проверки, если строки таблицы сортируются по строке, маркируют rowDimName по первому измерению.

  • Если tblA является таблицей, то метки являются именами строки.

  • Если tblA является расписанием, то метки являются временами строки.

пример

TF = issortedrows(tblA,vars) проверки, если строки таблицы в порядке возрастания основаны на элементах в переменных vars. Например, если Age и Weight являются переменными tblA, то issortedrows(tblA,{'Age','Weight'}) проверяет, в порядке возрастания ли строки возрастом, то в развес повредить связи.

  • Если tblA является таблицей с именами строки, то vars может включить имена строк.

  • Если tblA является расписанием, то vars может включать времена строки.

пример

TF = issortedrows(___,direction) проверки, если таблица сортируется в порядке, заданном direction для какого-либо из предыдущих табличных синтаксисов. direction может быть одним порядком сортировки, таким как 'descend' или 'monotonic', который применяется к каждой заданной переменной, имени строки, или время строки. direction может также быть массивом ячеек, элементы которого содержат различные порядки сортировки для каждой заданной переменной, имени строки, или время строки, когда issortedrows работает с.

пример

TF = issortedrows(___,Name,Value) задает дополнительные параметры для сортировки таблиц. Например, issortedrows(tblA,'Var1','MissingPlacement','first') проверяет, что недостающие элементы в Var1, такие как NaN или NaT, помещаются в начале таблицы.

Примеры

свернуть все

Создайте матрицу и определите, основаны ли ее строки в порядке возрастания на значениях в первом столбце. Поскольку первый столбец имеет повторный элемент, sortrows смотрит на второй столбец, чтобы определить, сортируются ли строки матрицы.

A = [1 2 9; 1 5 8; 4 0 7]
A = 3×3

     1     2     9
     1     5     8
     4     0     7

TF = issortedrows(A)
TF = logical
   1

Определите, основаны ли строки A в порядке возрастания на значениях в третьем столбце.

TF = issortedrows(A,3)
TF = logical
   0

Определите, основаны ли строки A в порядке убывания на значениях в третьем столбце.

TF = issortedrows(A,3,'descend')
TF = logical
   1

Создайте матрицу, содержащую комплексные числа, и определите, основаны ли ее строки в порядке возрастания на действительных частях элементов в первом столбце. Поскольку элементы в первом столбце имеют равные действительные части, issortedrows затем проверяет мнимые части, чтобы повредить связь.

A = [1+i 2i; 1+2i 3+4i]
A = 2×2 complex

   1.0000 + 1.0000i   0.0000 + 2.0000i
   1.0000 + 2.0000i   3.0000 + 4.0000i

TF = issortedrows(A,'ComparisonMethod','real')
TF = logical
   1

Для таблицы, которая описывает терпеливую информацию для пяти человек, определите, как строки таблицы сортируются.

Составьте таблицу с четырьмя переменными и определите, основаны ли строки таблицы в порядке возрастания на возрасте. Поскольку переменная возраста содержит повторный элемент, issortedrows затем проверяет следующий столбец (Height), чтобы повредить связь.

LastName = {'Sweet';'Jacobson';'Wang';'Joiner';'Berger'};
Age = [38;38;40;43;49];
Height = [69;71;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

tblA = table(Age,Height,Weight,BloodPressure,'RowNames',LastName)
tblA=5×4 table
                Age    Height    Weight    BloodPressure
                ___    ______    ______    _____________

    Sweet       38       69       176       124     93  
    Jacobson    38       71       163       109     77  
    Wang        40       64       131       125     83  
    Joiner      43       67       133       117     75  
    Berger      49       64       119       122     80  

TF = issortedrows(tblA)
TF = logical
   1

Проверяйте, сортируются ли строки таблицы по фамилии, которые являются именами строки для tblA.

TF = issortedrows(tblA,'RowNames')
TF = logical
   0

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

TF = issortedrows(tblA,{'Age','Weight'},{'ascend','descend'})
TF = logical
   1

Создайте расписание и проверяйте, что строки расписания в порядке возрастания основаны на временах строки. Также проверяйте, что недостающие элементы помещаются в последний раз.

Time = [seconds(1:3) NaN NaN]';
TT = timetable(Time,[98;97.5;97.9;98.1;99.9],[120;111;119;117;112],...
               'VariableNames',{'Temperature','Distance'})
TT=5×3 timetable
     Time      Temperature    Distance
    _______    ___________    ________

    1 sec           98          120   
    2 sec         97.5          111   
    3 sec         97.9          119   
    NaN sec       98.1          117   
    NaN sec       99.9          112   

TF = issortedrows(TT,'Time','MissingPlacement','last')
TF = logical
   1

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

свернуть все

Входной массив, заданный как вектор-столбец или матрица.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime | duration
Поддержка комплексного числа: Да

Столбец, сортирующий вектор, заданный как ненулевой целочисленный скаляр или вектор ненулевых целых чисел. Каждое заданное целочисленное значение указывает на столбец, чтобы проверять на порядок сортировки. Отрицательные целые числа указывают, что порядок сортировки убывает.

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

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

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

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

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

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

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

direction может также быть массивом ячеек, содержащим список этих векторов символов, где каждый элемент в списке соответствует столбцу A. Например, issortedrows(A,[2 4],{'ascend' 'descend'}) сначала проверяет, основаны ли строки A в порядке возрастания на втором столбце. Затем чтобы повредить связи, issortedrows проверяет, основаны ли строки в порядке убывания на четвертом столбце.

Если column задан, то число элементов в массиве ячеек должно совпадать с длиной column. Когда column не задан, массив ячеек должен содержать элемент для каждого столбца A или один элемент, который применяется ко всем столбцам.

Типы данных: char | cell

Входная таблица, заданная как таблица или расписание. Каждая переменная в tblA должна быть допустимым входом к sort или sortrows.

Типы данных: table | timetable

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

  • Если tblA является таблицей с именами строки, то rowDimName является именем первой размерности таблицы. По умолчанию именем первой размерности является 'Row'. Имена размерности являются свойством таблиц. Можно получить доступ к именам размерности tblA с помощью tblA.Properties.DimensionNames.

  • Если tblA является расписанием, то rowDimName является именем вектора времен строки. Можно задать его имя, когда вы создаете расписание, такое как Time или Date. Можно также получить доступ к именам размерности с помощью tblA.Properties.DimensionNames.

Пример: Если таблица T имеет имена строки, и вы поменяли имя первой размерности с помощью T.Properties.DimensionName{1} = 'Name', то issortedrows(T,'Name') проверяет, сортируется ли таблица по именам строки.

Пример: Если расписание, TT имеет временной вектор под названием Date, то issortedrows(TT,'Date') проверяет, сортируется ли расписание по датам и временам, которые содержит Date.

Типы данных: char

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

Если элемент vars является положительным целым числом, то issortedrows проверяет, в порядке возрастания ли строки в соответствующей переменной в tblA. Если элемент vars является отрицательным целым числом, то issortedrows проверяет, в порядке убывания ли строки в соответствующей переменной в tblA.

Пример: issortedrows(tblA,{'Height','Weight'}) проверяет, в порядке возрастания ли строки tblA, сначала переменной Height, то переменной Weight, чтобы повредить связи.

Пример: issortedrows(tblA,[1 4]) сначала проверяет, основаны ли строки таблицы в порядке возрастания на первой переменной, то связи пропусков путем проверки, основаны ли строки в порядке возрастания на четвертой переменной.

Пример: issortedrows(TT,{'Time','X'}) проверяет, в порядке возрастания ли времена строки расписания, то связи пропусков путем проверки, основаны ли строки в порядке возрастания на табличной переменной 'X'.

Типы данных: double | single | char | cell | logical

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

  • 'first' — Недостающие элементы требуются, чтобы занять первое место, чтобы возвратиться 1.

  • 'last' — Недостающие элементы требуются, чтобы быть помещенными в последний раз, чтобы возвратиться 1.

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

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

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

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

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

Смотрите также

| |

Введенный в R2017a