MATLAB Language
Ställ in operationer
Sök…
Syntax
- C = förening (A, B);
- C = korsar (A, B);
- C = setdiff (A, B);
- 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