MATLAB Language
Bewerkingen instellen
Zoeken…
Syntaxis
- C = vereniging (A, B);
- C = kruisen (A, B);
- C = setdiff (A, B);
- a = islid (A, x);
parameters
Parameter | Details |
---|---|
A, B | sets, mogelijk matrices of vectoren |
X | mogelijk element van een set |
Elementaire setbewerkingen
Het is mogelijk om elementaire setbewerkingen uit te voeren met Matlab. Laten we aannemen dat we twee vectoren of arrays hebben gegeven
A = randi([0 10],1,5);
B = randi([-1 9], 1,5);
en we willen alle elementen vinden die zich in A
en in B
. Hiervoor kunnen we gebruiken
C = intersect(A,B);
C
zal alle nummers omvatten die deel uitmaken van A
en deel van B
Als we ook de positie van deze elementen willen vinden, noemen we dat
[C,pos] = intersect(A,B);
pos
is de positie van deze elementen zodanig dat C == A(pos)
.
Een andere basisbewerking is de combinatie van twee sets
D = union(A,B);
Herby bevat D
alle elementen van A
en B
Merk op dat A
en B
hierbij als sets worden behandeld, wat betekent dat het niet uitmaakt hoe vaak een element deel uitmaakt van A
of B
Om dit te verduidelijken kan men D == union(D,C)
aanvinken.
Als we de gegevens willen krijgen die in 'A' staan, maar niet in 'B', kunnen we de volgende functie gebruiken
E = setdiff(A,B);
We willen nogmaals opmerken dat dit sets zijn zodat de volgende instructie D == union(E,B)
.
Stel dat we willen controleren of
x = randi([-10 10],1,1);
is een element van A
of B
we het commando uitvoeren
a = ismember(A,x);
b = ismember(B,x);
Als a==1
dan is x
element van A
en x
is geen element a==0
. Hetzelfde geldt voor B
Als a==1 && b==1
x
is ook een element van C
Als a == 1 || b == 1
x
is element van D
en als a == 1 || b == 0
het is ook element van E