How can I delete elements in a vector depending on the difference between them?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Victor Lejona
el 12 de Nov. de 2015
Comentada: Victor Lejona
el 12 de Nov. de 2015
Hi
I would like to delete certain elements in a vector so that I end up with a vector in which the difference between one element and the consecutive one is bigger than a given treshold?
Example:
a = [1 2 3 4 5 6 7 8 9];
treshold = 2;
And I want to end up with b = [1 4 7];
Many thanks in advance.
0 comentarios
Respuesta aceptada
the cyclist
el 12 de Nov. de 2015
Here is a very straightforward method:
a = [1 2 3 4 5 6 7 8 9];
b = a;
threshold = 2;
idx = 1;
while idx < numel(b-1)
if b(idx+1) <= b(idx) + threshold
b(idx+1) = [];
else
idx = idx + 1;
end
end
Más respuestas (0)
Ver también
Categorías
Más información sobre Other Formats en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!