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