Find index of same values in array
10 views (last 30 days)
Show older comments
roberto verrelli
on 28 Jan 2014
Answered: Pramod Kumar Jangir
on 20 Oct 2019
Hi all,
i have to find the index of the same value in an array,see the following example
a=[1 2 3 1]
i want b=[1 4] as output..how can i do this? A solution using find is this
- u=unique(a)
- n=histc(a,u)
- find(a==u(n>1))
but if in the a array there isn't 2 or more same value i get this error
??? Error using ==> eq Matrix dimensions must agree.
Thank you for your support :-)
1 Comment
Accepted Answer
Andrei Bobrov
on 28 Jan 2014
Edited: Andrei Bobrov
on 29 Jan 2014
find(ismember(a,u(n>1)))
ADD
a=[nan nan 12 3 5 9 8 7 12 NaN NaN 0 0 2 1 4 4 4]
u=unique(a(~isnan(a)));
n=histc(a,u);
d = u(n > 1);
out =find(ismember(a,d(end)))
5 Comments
More Answers (1)
Pramod Kumar Jangir
on 20 Oct 2019
Hi Andrei,
your code only wokrs for the consecutive equal values. Could you please modify it for random same values in an array?
Pramod
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!