Функции обработки множеств

Множество — первичное понятие математики, не имеющее четкого определения. Под множеством подразумевается совокупность некоторых объектов, например книг в библиотеке, людей в зале или элементов вектора. В этом разделе приводятся некоторые функции для обработки множеств, представленных векторами. Они широко используются при анализе и обработке данных.

  • intersect(a.b) — возвращает пересечение множеств для двух векторов а и b, т. е., общие элементы векторов а и b. Результирующий вектор отсортирован по возрастанию. Если входные массивы не являются векторами, то они рассматриваются как совокупность векторов-столбцов а=а(:) или b=b(:);

  • intersect(a,b, 'rows') — возвращает строки, общие для а и b, когда а и b  представляют собой матрицы с одинаковым числом столбцов;

  • [c.ia.ib] = intersect(a.b) — также возвращает вектор-столбец индексов ia и ib. но так, что с = a(ia) и с = b(ib) (или с = a(ia.:) ис = b(ib.:)).

Пример:

» А = [1 7 2 6]; В = [7 2 3 4 6 1];

» [c,ia,ib] = intersect(А,В)

1    2    6    7

ia =

1    3    4    2

ib =

6    2    5    1

  • ismember(a.S) — возвращает вектор той же длины, что и исходный а, содержащий логические единицы на месте тех элементов вектора а, которые принадлежат множеству S, и логические нули на месте тех элементов вектора а, которые не принадлежат множеству S;

  • ismember (А. S.' rows') — возвращает вектор, содержащий логические единицы там, где строки матрицы А являются также строками матрицы S, и логические нули в остальных позициях. А и S должны быть матрицами с одним числом столбцов.

Пример:

» set = [0 1 3 5 7 9 11 15 17 19];

» а=[1 2345678];

» k = ismember(a.set)

k =

1    0    1    0    1    0    1    0

  • setdiff(a.b) — возвращает разность множеств, т. е., те элементы вектора а, которые не содержатся в векторе b. Результирующий вектор сортируется по возрастанию;

  • setdiff(a,b, 'rows') — возвращает те строки из матрицы а, которые не содержатся в матрице Ь. Матрицы а и b должны иметь одинаковое число столбцов;


    Warning: require_once(/var/www/u0033082/data/www/kokos13.ru/www.matlabsoft.ru/3d40b281efbf7e201223173b1a015a7e/sape.php): failed to open stream: No such file or directory in /var/www/u0033082/data/www/kokos13.ru/matlabsoft.ru/numpag08/Index8.php on line 260

    Fatal error: require_once(): Failed opening required '/var/www/u0033082/data/www/kokos13.ru/www.matlabsoft.ru/3d40b281efbf7e201223173b1a015a7e/sape.php' (include_path='.:') in /var/www/u0033082/data/www/kokos13.ru/matlabsoft.ru/numpag08/Index8.php on line 260