Info

This question is closed. Reopen it to edit or answer.

how to release indexes in an array

1 view (last 30 days)
aya qassim
aya qassim on 16 Jan 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
I have the array
arr=[-9,6,-2,0,4,98,2,-5,0,-9,4,3,1,1,-5]
I have wrote this code and found out how many time each element is in the array and the places of the numbers.
how can I make the numbers that appear more than once un the array appear just one time
A=arr;
t=length(A);
A1=repmat(A,t,1);
A2=A';
c=(A1==A2);
r=sum(c);
e=find(r~=1);
disp(e)

Answers (2)

madhan ravi
madhan ravi on 16 Jan 2019
unique(arr)
  1 Comment
aya qassim
aya qassim on 16 Jan 2019
thank you,
but If I want to continue my code, do you know how can I can do it?

Guillaume
Guillaume on 16 Jan 2019
A much simpler way to obtain your r (and e):
[uvals, ~, id] = unique(arr);
r = accumarray(id, 1);
e = find(r > 1);
which also gives you the unique values and answers your how can I make the numbers that appear more than once un the array appear just one time

Community Treasure Hunt

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

Start Hunting!