Szukaj…


Składnia

  1. C = związek (A, B);
  2. C = przecinają się (A, B);
  3. C = setdiff (A, B);
  4. a = ismember (A, x);

Parametry

Parametr Detale
A, B zbiory, ewentualnie macierze lub wektory
x możliwy element zestawu

Podstawowe operacje na zestawach

Możliwe jest wykonywanie podstawowych operacji zestawu za pomocą Matlaba. Załóżmy, że podaliśmy dwa wektory lub tablice

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

i chcemy znaleźć wszystkie elementy, które są w A i B Do tego możemy użyć

C = intersect(A,B);

C będzie obejmować wszystkie liczby, które są częścią A i częścią B Jeśli chcemy również znaleźć pozycję tych elementów, nazywamy

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

pos jest pozycją takich elementów, że C == A(pos) .

Kolejną podstawową operacją jest połączenie dwóch zestawów

D = union(A,B);

Herby zawiera D wszystkie elementy A i B

Zauważ, że A i B są niniejszym traktowane jako zestawy, co oznacza, że nie ma znaczenia, jak często element jest częścią A lub B Aby to wyjaśnić, można sprawdzić połączenie D == union(D,C) .

Jeśli chcemy uzyskać dane w „A”, ale nie w „B”, możemy skorzystać z następującej funkcji

E = setdiff(A,B);

Chcemy jeszcze raz zauważyć, że są to takie zestawy, że następująca instrukcja zawiera D == union(E,B) .

Załóżmy, że chcemy sprawdzić, czy

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

jest elementem A lub B , możemy wykonać polecenie

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

Jeśli a==1 to x jest elementem A a x nie jest żadnym elementem, to a==0 . To samo dotyczy B Jeśli a==1 && b==1 x jest również elementem C Jeśli a == 1 || b == 1 x jest elementem D a jeśli a == 1 || b == 0 to także element E



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow