Sök…


Syntax

  1. C = förening (A, B);
  2. C = korsar (A, B);
  3. C = setdiff (A, B);
  4. a = ismember (A, x);

parametrar

Parameter detaljer
A, B uppsättningar, eventuellt matriser eller vektorer
x möjliga element i en uppsättning

Elementära uppsättningar

Det är möjligt att utföra elementära uppsättningar med Matlab. Låt oss anta att vi har gett två vektorer eller matriser

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

och vi vill hitta alla element som finns i A och B För detta kan vi använda

C = intersect(A,B);

C kommer att inkludera alla nummer som är del av A och del av B Om vi också vill hitta positionen för dessa element kallar vi

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

pos är positionen för dessa element så att C == A(pos) .

En annan grundläggande operation är föreningen mellan två uppsättningar

D = union(A,B);

Herby innehåller D alla element i A och B

Observera att A och B härmed behandlas som uppsättningar vilket innebär att det inte spelar någon roll hur ofta ett element är en del av A eller B För att klargöra detta kan man kontrollera D == union(D,C) .

Om vi vill skaffa data som finns i 'A' men inte i 'B' kan vi använda följande funktion

E = setdiff(A,B);

Vi vill återigen notera att detta är uppsättningar så att följande uttalande håller D == union(E,B) .

Anta att vi vill kontrollera om

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

är ett element i antingen A eller B vi utföra kommandot

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

Om a==1 är x element i A och x är inget element är a==0 . Detsamma gäller för B Om a==1 && b==1 x är ett element i C Om a == 1 || b == 1 x är element i D och om a == 1 || b == 0 det är också del av E



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow