issortedrows

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

Описание

пример

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 имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

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

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

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

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

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

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

| |

Введенный в R2017a