Get array of elements based on occurrences of another vector

6 Ansichten (letzte 30 Tage)
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!

Akzeptierte Antwort

Torsten
Torsten am 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

Weitere Antworten (1)

Matt J
Matt J am 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

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by