Find unique values in a sequence containing at least 3 elements

I want to find the unique values for each sequence containing minimum 3 repeating elements in a vector. For example, consider the vector:
x = [1 2 2 3 4 4 4 5 6 6 6 6 7 7 7 8];
The output (unique values) should be:
y = [4 6 7];
How can I achieve this?

 Réponse acceptée

u = unique(x);
a = histc(x,u);
y = u(a>=3);
This should do the trick. First determine the unique values in the vector, then count the number of times they occur. Then consider only the values that occur more than 2 times.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by