Info

此问题已关闭。 请重新打开它进行编辑或回答。

how to release indexes in an array

1 次查看(过去 30 天)
aya qassim
aya qassim 2019-1-16
关闭: MATLAB Answer Bot 2021-8-20
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)

回答(2 个)

madhan ravi
madhan ravi 2019-1-16
  1 个评论
aya qassim
aya qassim 2019-1-16
thank you,
but If I want to continue my code, do you know how can I can do it?

Guillaume
Guillaume 2019-1-16
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!

Translated by