Suche…


Syntax

  1. C = Vereinigung (A, B);
  2. C = Schnittpunkt (A, B);
  3. C = Setdiff (A, B);
  4. 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



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow