Access elements of a Vector without a few Indices?

12 visualizaciones (últimos 30 días)
Pankaj
Pankaj el 26 de Abr. de 2015
Comentada: Pankaj el 26 de Abr. de 2015
Say suppose I have a vector
X = [4 5 1 7 3 9 2 4]
and I want to access X but without indices: 1, 4 and 6. I tried
X(~[1, 4, 6])
But that's not working. Any suggestions.
Thanks
PS: I don't want to modify the vector.

Respuesta aceptada

Stephen23
Stephen23 el 26 de Abr. de 2015
Editada: Stephen23 el 26 de Abr. de 2015
You could use setxor to generate the indices:
>> X = [4 5 1 7 3 9 2 4];
>> X(setxor(1:numel(X),[1,4,6]))
ans =
5 1 3 2 4
Or alternatively you could use create a logical array and use logical indexing. Even though it takes more lines it may be faster than the first solution:
>> Y = true(size(X));
>> Y([1,4,6]) = false;
>> X(Y)
ans =
5 1 3 2 4

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by