extract elements and build the remain vector

19 views (last 30 days)
Marko
Marko on 21 Dec 2020
Commented: Marko on 21 Dec 2020
Hello Community,
i need your help.
A vector v has 128 elements with random numbers.
The elements of index 1 21 31 41 should be etracted, and saved as vector a.
the remain elements of vector v should be saved as vector b.
my version consist two for loops which is in deed a bad solution for large vectors.
PS: the vectors are not constant.
maybe someone could finish the algorithm:
v = 1:128;
a = v([1 21 31 41]);

Accepted Answer

Image Analyst
Image Analyst on 21 Dec 2020
Use setdiff():
N = 1600;
v = 1:N;
a = [2 59 87 113]
extracted = v(a)
otherIndexes = setdiff(1:length(v), a);
b = v(otherIndexes)

More Answers (1)

David Hill
David Hill on 21 Dec 2020
a=v([1 21 31 41]);
b=v([2:20,22:30,32:40,42:end]);
  5 Comments

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!