И другие программы этой серии
A и S должны быть матрицами
с одинаковым числом столбцов.
Пример:
>> set = [0 1 3 5 7 9 11 15 17 19];
>> a=[1 2 3 4 5 6 7 8];
>> k = ismember(a,set)
k=
1
0
1
0
1
0
1
0
1
1
• bitxor(A,B) – возвращает результат поразрядного исключающего ИЛИ
для двух аргументов A и B. Оба аргумента должны быть целыми. Пример:
>> x=bitxor(12,31)
x=
19
Чтобы операнды этих функций гарантированно были целыми числами, при их
задании рекомендуется использовать функции ceil, fix, floor и round.
3.3.2. Обработка множеств
Множество – первичное понятие математики, не имеющее четкого определения.
Под множеством подразумевается совокупность некоторых объектов, например
книг в библиотеке, людей в зале или элементов вектора. В этом разделе приводят
ся некоторые функции для обработки множеств, представленных векторами. Они
широко используются при анализе и обработке данных.
• intersect(a,b) – возвращает пересечение множеств для двух векторов
a и b, то есть общие элементы векторов a и b. Результирующий вектор от
сортирован по возрастанию. Если входные массивы не являются вектора
ми, то они рассматриваются как совокупность векторов столбцов a=a(:)
или b=b(:);
• intersect(a,b,\'rows\') – возвращает строки, общие для a и b, когда a и
b представляют собой матрицы с одинаковым числом столбцов;
• setdiff(a,b) – возвращает разность множеств, то есть те элементы век
тора a, которые не содержатся в векторе b. Результирующий вектор сорти
руется по возрастанию;
• setdiff(a,b,\'rows\') – возвращает те строки из матрицы a, которые не
содержатся в матрице b. Матрицы a и b должны иметь одинаковое число
столбцов;
• [c,i] = setdiff(…) – возвращает также вектор индексов i, такой, что
c = a(i) или c = a(i,:).
Если входной массив a является матрицей, то он расценивается как вектор
столбец a(:).
Пример:
>> a=[2 3 5 7 8 9 10 13 20];
>> b=[1 4 5 6 8 9 4]
>> c = setdiff(a,b)
c=
2
3
7
10
13
20
• setxor(a,b) – исключающее ИЛИ для векторов a и b. Результирующий
вектор отсортирован;
• setxor(a,b,\'rows\') – возвращает строки, которые не являются пересе
чениями матриц a и b.