MATLAB Language
Operationen einstellen
Suche…
Syntax
- C = Vereinigung (A, B);
- C = Schnittpunkt (A, B);
- C = Setdiff (A, B);
- a = ismember (A, x);
Parameter
Parameter | Einzelheiten |
---|---|
A, B | Mengen, möglicherweise Matrizen oder Vektoren |
x | mögliches Element eines Satzes |
Elementare Setoperationen
Mit Matlab können Elementaroperationen ausgeführt werden. Nehmen wir an, wir haben zwei Vektoren oder Arrays angegeben
A = randi([0 10],1,5);
B = randi([-1 9], 1,5);
und wir wollen alle Elemente finden, die in A
und in B
. Dafür können wir verwenden
C = intersect(A,B);
C
enthält alle Zahlen, die Teil von A
und Teil von B
. Wenn wir auch die Position dieser Elemente finden wollen, nennen wir sie
[C,pos] = intersect(A,B);
pos
ist die Position dieser Elemente, so dass C == A(pos)
.
Eine weitere grundlegende Operation ist die Vereinigung von zwei Sätzen
D = union(A,B);
Herby enthält D
alle Elemente von A
und B
Beachten Sie, dass A
und B
hier als Mengen behandelt werden, dh es spielt keine Rolle, wie oft ein Element zu A
oder B
. Um dies zu klären, kann man D == union(D,C)
.
Wenn wir die Daten erhalten möchten, die sich in 'A' befinden, aber nicht in 'B', können wir die folgende Funktion verwenden
E = setdiff(A,B);
Wir möchten noch einmal darauf hinweisen, dass dies Sets sind, so dass die folgende Anweisung D == union(E,B)
.
Angenommen, wir wollen prüfen, ob
x = randi([-10 10],1,1);
Ist ein Element von A
oder B
, können wir den Befehl ausführen
a = ismember(A,x);
b = ismember(B,x);
Wenn a==1
dann ist x
Element von A
und x
ist kein Element ist a==0
. Dasselbe gilt für B
Wenn a==1 && b==1
x
ist auch ein Element von C
Wenn a == 1 || b == 1
x
ist Element von D
und wenn a == 1 || b == 0
ist auch ein Element von E