Split array based on given indices

8 Ansichten (letzte 30 Tage)
Mariella Dreißig
Mariella Dreißig am 15 Aug. 2019
Bearbeitet: Mariella Dreißig am 15 Aug. 2019
I want to split one array into two based on given indices. Specifically, have two arrays, one array A with data (3 columns) and one B with indices.
eg A = [10 11 12 13 14 15 16 17 18 19 20], B = [3 4 5 8 9 10]
As a result, I want two new arrays C and D where C includes all values in A on given indices in B and D including the rest.
eg C = [12 13 14 17 18 19], D = [10 11 15 16 20]
For now, I'm having a loop (check for i in B with ismember and append value in A to array C/D accordingly) but since I have a lot of data, it takes quite long. Any help is appreciated, I know that there is a arrayfunction for everything in matlab.

Akzeptierte Antwort

madhan ravi
madhan ravi am 15 Aug. 2019
C=A(B)
D=setdiff(A,C)

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by