extract elements and build the remain vector

10 visualizzazioni (ultimi 30 giorni)
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]);

Risposta accettata

Image Analyst
Image Analyst il 21 Dic 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)

Più risposte (1)

David Hill
David Hill il 21 Dic 2020
a=v([1 21 31 41]);
b=v([2:20,22:30,32:40,42:end]);
  5 Commenti
Marko
Marko il 21 Dic 2020
Perfect!
You are a genius!

Accedi per commentare.

Categorie

Scopri di più su Language Fundamentals in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by