Установите исключающее ИЛИ двух массивов
C = setxor(A,B)C
= setxor(A,B,setOrder)C = setxor(A,B,___,'rows')C = setxor(A,B,'rows',___)[C,ia,ib]
= setxor(___)[C,ia,ib]
= setxor(A,B,'legacy')[C,ia,ib]
= setxor(A,B,'rows','legacy') возвращает данные 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.
Опция '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,:).
Чтобы найти симметричное различие относительно подмножества переменных из таблицы или расписания, можно использовать индексирование столбца. Например, можно использовать , где setxor(A(:,vars),B(:,vars))vars является положительным целым числом, вектором положительных целых чисел, имени переменной, массива ячеек имен переменных или логического вектора. Также можно использовать vartype, чтобы создать индекс, который выбирает переменные заданного типа.