Borrar filtros
Borrar filtros

removing irrelevant datasets from variable

1 visualización (últimos 30 días)
Jatin Arora
Jatin Arora el 21 de Mayo de 2013
i have a data set of size Data{301*4090}. From this data set I want to remove data which is less than a particular range. So I start analyzing the Data(1) and check if the values are less than -500 or greater than 500 I should keep this data set otherwise I should eliminate this data set.
So I use a nested for loop first which runs from 1 to 301 and second which runs from 1 to 4090. I use a if condition to check for the above conditions.
for i = 1:1:len(1)
for j = 1:1:4090
if (newsensorData(i,j)<=-500)||(newsensorData(i,j)>=500)
modsensorData(i,j) = newsensorData(i,j);
else
sprintf('This data is not relevant for further processing');
end
end
end
My problem is I want that if in Data(1) my condition is fulfilled I should stop checking Data(1) and then check Data(2).
How do I make this work. Please excuse me if I did not frame my question properly.
Thanks.
  5 comentarios
Jatin Arora
Jatin Arora el 21 de Mayo de 2013
newsensorData is my variable of dimensions 301*4090. I framed the question by using imaginary variables Data, Data(1) and Data(2) but i copied the same code as it was in my MATLAB. I apologize for this confusion.
I have modified the code and now I think it works fine
len = size(newsensorData)
for i = 1:1:len(1)
for j = 1000:1:4000
if (newsensorData(i,j)<=-500)||(newsensorData(i,j)>=500)
modsensorData(i,1000:4000) = newsensorData(i,1000:4000);
end
end
end
José-Luis
José-Luis el 21 de Mayo de 2013
Maybe it's just one of those days, but I just don't get what you are trying to do. Anyway, I'm glad it worked out for you.

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 21 de Mayo de 2013
if condition
...
else
fprintf('This data is not relevant for further processing');
break; %notice this!
end

Iain
Iain el 21 de Mayo de 2013
IgnoredValue = NaN; % (or 0, or inf, or some known bad value)
modsensorData = newsensorData;
modsensorData(modsensorData > 500) = IgnoredValue;
modsensorData(modsensorData < -500) = IgnoredValue;

Categorías

Más información sobre Loops and Conditional Statements 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!

Translated by