Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
I have a large vector, I would like to find a set of data which is a subset of the large vector.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Any algorithm I can use to find the set of data?
7 Kommentare
John D'Errico
am 18 Feb. 2019
No reason to add an answer for no reason. Moved to acomment:
"I meant the first index should be 5"
Antworten (2)
John D'Errico
am 18 Feb. 2019
ismember is exactly the tool to solve your problem.
A = [1 3 5 7 9 8 6 4 2];
B = [5 6];
[LIA,LOCB] = ismember(A,B)
LIA =
1×9 logical array
0 0 1 0 0 0 1 0 0
LOCB =
0 0 1 0 0 0 2 0 0
So we see that elements 3 and 7 of A are in B.
find(LIA)
ans =
3 7
And that seems to be what you are asking to learn.
2 Kommentare
madhan ravi
am 18 Feb. 2019
[r,c]=find(A.'==B);
G=findgroups(c);
index = splitapply(@max,r,G).'
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!