Установите исключающее ИЛИ из двух массивов
возвращает данные C
= setxor(A,B
)A
и B
которые не находятся в их пересечении (симметричное различие), без повторений. То есть, setxor
возвращает данные, которые происходят в A
или B
, но не то и другое. C
находится в сортированном порядке.
Если A
и B
являются таблицами или расписаниями, тогда setxor
возвращает строки, которые находятся в одной или другой из двух таблиц, но не в обеих. Для расписаний, setxor
учитывает время строк, чтобы определить равенство, и сортирует выходное расписание C
по строкам.
и C
= setxor(A,B
,___,'rows')
обработайте каждую строку C
= setxor(A,B
,'rows',___)A
и каждую строку B
как единичные сущности и возвращает строки A
и B
которые не находятся на их пересечении, без повторений. Вы должны задать A
и B
и опционально может задать setOrder
.
The 'rows'
опция не поддерживает массивы ячеек, если один из входов не является либо категориальным массивом, либо массивом datetime.
[
также возвращает векторы индекса C
,ia
,ib
]
= setxor(___)ia
и ib
использование любого из предыдущих синтаксисов.
Как правило, значения в C
являются отсортированной комбинацией элементов A(ia)
и B(ib)
.
Если на 'rows'
задается опция, затем C
- отсортированная комбинация строк A(ia,:)
и B(ib,:)
.
Если A
и B
являются таблицами или расписаниями, затем C
- отсортированная комбинация строк A(ia,:)
и B(ib,:)
.
Чтобы найти симметричное различие относительно подмножества переменных из таблицы или timetable, можно использовать индексирование столбцов. Например, можно использовать setxor (A
, где (:, vars
), B (:, vars
))vars
- положительное целое число, вектор положительных целых чисел, имя переменной, массив ячеек с именами переменных или логический вектор. Также можно использовать vartype
для создания индекса, выбирающего переменные заданного типа.