Поиск…


Синтаксис

  1. C = объединение (A, B);
  2. C = пересекаются (A, B);
  3. C = setdiff (A, B);
  4. a = ismember (A, x);

параметры

параметр подробности
А, В множеств, возможно, матриц или векторов
Икс возможный элемент множества

Операции с элементарным множеством

Операции с элементарным множеством можно выполнять с помощью Matlab. Предположим, мы дали два вектора или массивы

A = randi([0 10],1,5);
B = randi([-1 9], 1,5);

и мы хотим найти все элементы, которые находятся в A и B Для этого мы можем использовать

C = intersect(A,B);

C будет включать все числа, которые являются частью A и частью B Если мы также хотим найти позицию этих элементов, мы называем

[C,pos] = intersect(A,B);

pos - это положение этих элементов, такое, что C == A(pos) .

Другой основной операцией является объединение двух множеств

D = union(A,B);

Herby содержит D всех элементов A и B

Обратите внимание, что A и B здесь рассматриваются как наборы, что означает, что не имеет значения, как часто элемент является частью A или B Чтобы уточнить это, можно проверить D == union(D,C) .

Если мы хотим получить данные, находящиеся в «A», но не в «B», мы можем использовать следующую функцию

E = setdiff(A,B);

Мы хотим еще раз отметить, что это такие множества, что выполняется следующее утверждение D == union(E,B) .

Предположим, мы хотим проверить, если

x = randi([-10 10],1,1);

является элементом либо A либо B мы можем выполнить команду

a = ismember(A,x);
b = ismember(B,x);

Если a==1 то x является элементом A а x является элементом a==0 . То же самое касается B Если a==1 && b==1 x также является элементом C Если a == 1 || b == 1 x является элементом D и если a == 1 || b == 0 это также элемент E



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow