Get array of elements based on occurrences of another vector

2 views (last 30 days)
Hi guys!
Let's assume that you have 2 Nx1 arrays "y" and "x", is there a way to find all the elements of y corresponding to the unique elements of x?
E.g
y=[0;1;2;3;4];
x=[1;1;2;2;2];
%The results should be two vectors, one containing the elements [0;1] and the other one containing
%[2;3;4]
Thank you!

Accepted Answer

Torsten
Torsten on 9 Sep 2022
y=[0;1;2;3;4];
x=[1;1;2;2;2];
z{1} = y(x==1);
z{2} = y(x==2);
z{1}
ans = 2×1
0 1
z{2}
ans = 3×1
2 3 4

More Answers (1)

Matt J
Matt J on 9 Sep 2022
y=[0;1;2;3;4];
x=[1;1;2;2;2];
z=splitapply(@(x){x},y,x);
z{:}
ans = 2×1
0 1
ans = 3×1
2 3 4

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!