Removing entries of vector indexed by odd integer.

11 vues (au cours des 30 derniers jours)
David
David le 25 Sep 2013
So, in a question we've been asked to define a vector "x" which begins at 1.5 and ends at -3.5 with 101 entries in between without the use of any loops. So, I used linspace(1.4, -3.5, 101) to do this. However the next part of the question requires you to create a matrix "y" which corresponds to "x" only with the entries indexed by an odd integer removed. How can you do this without using a loop? Is there a function for it? Thanks.

Réponse acceptée

Leah
Leah le 25 Sep 2013
You just have to reference every other element of the vector you created.
x=linspace(1.4, -3.5, 101) ;
y=x(1:2:end);
  1 commentaire
David
David le 25 Sep 2013
Will that not include elements 1 and 101 though, and they're odd indexes? Why wouldn't it be y = x(2:2:100);?

Connectez-vous pour commenter.

Plus de réponses (1)

Matt J
Matt J le 25 Sep 2013
Modifié(e) : Matt J le 25 Sep 2013
x=linspace(1.4, -3.5, 101) ;
y=x;
y(1:2:end)=[];
or
y=x(2:2:end);
  9 commentaires
Matt J
Matt J le 25 Sep 2013
See also
>> 2:2:15
ans =
2 4 6 8 10 12 14
David
David le 25 Sep 2013
Brilliant! Thanks a million.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by