Найдите повторяющиеся числа по порядку?

#matlab #numbers #repeat

Вопрос:

Я пробовал различные повторяющиеся функции, которые сообщают мне частоту чисел, но я хочу знать порядок повторяющихся чисел. Например, у меня есть массив, в котором есть числа

 a=[ 1,1,1,1,1,2,2,2,2,2,1,1,1,1,4,4,4,5,5,5,7,7,2,2,2,2]  

Я хочу, чтобы моя функция дала мне ответ, т. е. 1,2,1,4,5,7,2.

Ответ №1:

Вы можете использовать diff , вас интересует первый элемент a , а затем каждый последующий индекс, где разница между элементами ненулевая

 gt;gt; a = [ 1,1,1,1,1,2,2,2,2,2,1,1,1,1,4,4,4,5,5,5,7,7,2,2,2,2];  gt;gt; b = a( [true, diff(a)~=0] ); b =  1 2 1 4 5 7 2   

Комментарии:

1. Спасибо Вулфи за ответ.. Это сработало 🙂