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

10 visualizaciones (últimos 30 días)
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!

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (3)

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

Iniciar sesión para comentar.


George
George el 21 de Sept. de 2016
You can do this using mod().

karim karim
karim karim el 10 de En. de 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);

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by