Removing specific position in array

I want to remove the element that are outside the starttime and endtime. Like for example it could be for the first 20 and last 5 entrys. I tried with the function nonzeros and it works for the time array, because the time array only have elements > 0, but not for the high. But I dont know how to remove it on a other way. Below is the Code that I use.
for j = 1:length(high)
if time(j)>= starttime && time(j)<=endtime
t(j) = time(j);
high(j) = high(j);
else
high(j) = [];
end
end
time = nonzeros(time);

 Risposta accettata

time(time<starttime|time>endtime)=[];

3 Commenti

Yes this is a easier way to eliminate in time the things that are outside thank you! But i still dont know how to get rid of the elements in high. The problem is every high has a time, so if i delete the first 2 in time i also want to delete that in high. My question was not specific enough sorry for that.
high(time<starttime|time>endtime)=[];
time(time<starttime|time>endtime)=[];
Thank you! It works!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Debugging and Improving Code in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by