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

10 views (last 30 days)
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!

Accepted Answer

Sean de Wolski
Sean de Wolski on 21 Sep 2016
x = 1:50;
x([3:3:50,4:4:50,5:5:50]) = []
  2 Comments
James Tursa
James Tursa on 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.

Sign in to comment.

More Answers (3)

Andrei Bobrov
Andrei Bobrov on 21 Sep 2016
x = (1:50)';
out = x(all(bsxfun(@rem,x,3:5),2));
  2 Comments
James Tursa
James Tursa on 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.

Sign in to comment.


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

karim karim
karim karim on 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);

Community Treasure Hunt

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

Start Hunting!