Domanda

Ho un vettore con valori tra 1 e N > 1. Alcuni valori potrebbero verificarsi più volte consecutivamente. Ora voglio avere una seconda riga che conta le voci consecutivamente e rimuove tutte quelle voci consecutivamente, ad esempio:

A = [1 2 1 1 3 2 4 4 1 1 1 2]'

porterebbe a:

B = [1 1;
     2 1;
     1 2;
     3 1;
     2 1;
     4 2;
     1 3;
     2 1]

(Vedi, la seconda colonna contiene il numero di voci consecutivamente! Mi sono imbattuto in accumarray() Di recente in Matlab, ma non riesco a trovare alcuna soluzione per questo compito poiché considera sempre l'intero vettore e non solo le voci consecutivamente.

Qualche idea?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top