Come trovare elementi comuni di due matrice (con ripetizioni)

di il
1 risposte

Come trovare elementi comuni di due matrice (con ripetizioni)

Salve a tutti , vorrei chiedervi se è possibile risolvere il mio problema.

Ammettiamo che abbia due matrici A e B dove:
A= [2 1 2
3 2 5
4 7 5
4 8 10]

B= [4 7 5
2 8 10
4 1 2
3 2 5]

Vorrei definire un indice colonna che individui gli elementi comuni di A e di B considerando anche le ripetizioni. Ad esempio:
idx1 = [3 3 2
1 4 4
4 1 1
2 2 3]

Ho provato ad utilizzare la funzione di Matlab "intersect" ma fornisce come output solo gli indici delle colonne i cui valori non sono ripetuti. Ad esempio:
for n=1:size(A,2)
[C, idx1, idx2] = intersect( B(:,n), A(:,n), 'stable');
end

Come posso considerare anche i valori ripetuti presenti nelle colonne?
Grazie mille.

1 Risposte

  • Re: Come trovare elementi comuni di due matrice (con ripetizioni)

    La domanda non è chiara:

    Qual è l'output atteso nel caso dell'esempio che hai pubblicato?

    Scrivi di voler trovare degli "indici colonna", ma nell'esempio, "idex1" sembra un "indice riga".

    Come intendi gestire le ripetizioni?

    Nella prima colonna della matrice "A" ci sono due "4" così come nella matrice "B".
    Quale output ti aspetti nel caso nel quale, per esempio nella matrice "B" c siano tre "4"?
Devi accedere o registrarti per scrivere nel forum
1 risposte