Effacer les filtres
Effacer les filtres

How can I remove elements divisible by 3,4, and 5 in a vector?

8 vues (au cours des 30 derniers jours)
Bridgit Nata
Bridgit Nata le 21 Sep 2016
I've created a vector x = 1:50 but I'm having trouble in how I can remove elements divisible by 3, 4, and 5, and then display it in a new vector. Thank you!

Réponse acceptée

Sean de Wolski
Sean de Wolski le 21 Sep 2016
x = 1:50;
x([3:3:50,4:4:50,5:5:50]) = []
  2 commentaires
Bridgit Nata
Bridgit Nata le 21 Sep 2016
thank you!!
James Tursa
James Tursa le 21 Sep 2016
@Nathalie: Note that this solution deletes the elements whose "indexes" are divisible by 3, 4, 5. In your particular example, since the indexes match up with the values one-for-one, this gives the same solution as below.

Connectez-vous pour commenter.

Plus de réponses (3)

Andrei Bobrov
Andrei Bobrov le 21 Sep 2016
x = (1:50)';
out = x(all(bsxfun(@rem,x,3:5),2));
  2 commentaires
Bridgit Nata
Bridgit Nata le 21 Sep 2016
thank you!!
James Tursa
James Tursa le 21 Sep 2016
@Nathalie: Note that this solution deletes the elements whose "values" are divisible by 3, 4, 5. In your particular example, since the indexes match up with the values one-for-one, this gives the same solution as above.

Connectez-vous pour commenter.


George
George le 21 Sep 2016
You can do this using mod().

karim karim
karim karim le 10 Jan 2020
This is a general solution :
x=input(' x = ');
i=1;
while i<= length(x)
if mod(x(i),3)==0 || mod(x(i),4)==0 || mod(x(i),5)==0
x(i)=[];
else i=i+1;
end
end
disp(x);

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by