How to find the indices of element occuring once in a vector?
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello all
I want to know...How can I get the indices of a value that is occuring only once in a vector...please guide.
Example: A=[1 1 0 -1 0 0 1 0 1 1]
Task: To identify the indices of -1 (as it is occuring only once) in A.
Please Help!!!
Regards
0 Commenti
Risposta accettata
Cedric
il 23 Mag 2014
Modificato: Cedric
il 23 Mag 2014
There are ways to solve your problem based on HISTC or ACCUMARRAY. However, the simplest approach if you really have only two situations (unique 1 or unique -1) is probably the following:
if sum( A == 1 ) == 1
pos = find( A == 1 ) ;
else
pos = find( A == -1 ) ;
end
value = A(pos) ;
Più risposte (3)
George Papazafeiropoulos
il 23 Mag 2014
Modificato: George Papazafeiropoulos
il 23 Mag 2014
A=[1 1 0 -1 0 0 1 0 1 1];
[~,c]=histc(A,unique(A));
out=A(c==1);
2 Commenti
Cedric
il 23 Mag 2014
Sagar, you should take the time to understand his example. In particular, see what c is, what c==1 is, etc. Maybe read about logical indexing, and if you cannot use the latter and really need the position of unique element(s), read about FIND.
George Papazafeiropoulos
il 23 Mag 2014
Modificato: George Papazafeiropoulos
il 23 Mag 2014
A=[1 1 -1 0 0 0 1 0 1 1];
[~,c]=histc(A,unique(A));
out=find(c==1);
3 Commenti
George Papazafeiropoulos
il 23 Mag 2014
Try the above code for different A. Define A as you want and then execute the two last lines of the code. I think it works...
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!