MATLAB Language
Imposta le operazioni
Ricerca…
Sintassi
- C = unione (A, B);
- C = intersezione (A, B);
- C = setdiff (A, B);
- a = ismember (A, x);
Parametri
| Parametro | Dettagli |
|---|---|
| A, B | insiemi, possibilmente matrici o vettori |
| X | possibile elemento di un set |
Operazioni di set elementare
È possibile eseguire operazioni di set elementari con Matlab. Supponiamo di aver dato due vettori o matrici
A = randi([0 10],1,5);
B = randi([-1 9], 1,5);
e vogliamo trovare tutti gli elementi che sono in A e in B Per questo possiamo usare
C = intersect(A,B);
C includerà tutti i numeri che fanno parte di A e parte di B Se vogliamo anche trovare la posizione di questi elementi che chiamiamo
[C,pos] = intersect(A,B);
pos è la posizione di questi elementi tale che C == A(pos) .
Un'altra operazione di base è l'unione di due set
D = union(A,B);
Herby contiene D tutti gli elementi di A e B
Nota che A e B sono considerati come insiemi, il che significa che non importa quante volte un elemento fa parte di A o B Per chiarire questo si può controllare D == union(D,C) .
Se vogliamo ottenere i dati che si trovano in "A" ma non in "B", possiamo usare la seguente funzione
E = setdiff(A,B);
Vogliamo ancora una volta notare che questo è un insieme tale che la seguente affermazione tiene D == union(E,B) .
Supponiamo di voler controllare se
x = randi([-10 10],1,1);
è un elemento di A o B possiamo eseguire il comando
a = ismember(A,x);
b = ismember(B,x);
Se a==1 allora x è l'elemento di A e x è nessun elemento è a==0 . Lo stesso vale per B Se a==1 && b==1 x è anche un elemento di C Se a == 1 || b == 1 x è l'elemento di D e se a == 1 || b == 0 è anche un elemento di E