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

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

x = 1:50;
x([3:3:50,4:4:50,5:5:50]) = []

2 commentaires

thank you!!
@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)

x = (1:50)';
out = x(all(bsxfun(@rem,x,3:5),2));

2 commentaires

thank you!!
@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.

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 Mathematics dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by