How can I delete elements in a vector depending on the difference between them?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Victor Lejona
am 12 Nov. 2015
Kommentiert: Victor Lejona
am 12 Nov. 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 Kommentare
Akzeptierte Antwort
the cyclist
am 12 Nov. 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
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Other Formats finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!