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

0 Stimmen

C=A(B)
D=setdiff(A,C)

Weitere Antworten (0)

Kategorien

Produkte

Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by