Borrar filtros
Borrar filtros

Removing spikes with standard deviation

3 visualizaciones (últimos 30 días)
Gabriel Luca Pugliese Borges
Gabriel Luca Pugliese Borges el 21 de Mzo. de 2022
Comentada: Star Strider el 21 de Mzo. de 2022
Hey.
I'm trying to remove some spikes in a water current data using nanmean and nanstd.
To do it, i created this script:
Data3=Data2(:,:,5:6); %Data2 is the real data matrix. To don't take risks, i created a copy and work on it.
it=2;
[~,col,page]=size(Data3);
for p=1:page
for c=1:col
for i=it+1:length(Data3)-it;
x=nanmean(Data3(i-it:i+it,c,p));
y=nanstd(Data3(i-it:i+it,c,p));
if Data3(i,c,p)>x+3*y || Data3(i,c,p)<x-3*y;
Data3(i,c,p)=NaN;
end
end
end
end
%clear p c r x y z k row col page it
After running it, i did a plot to check if the original data(Data2) are now diferent from the one with no spikes(Data3)
plot(Data2(:,5,5))
hold
plot(Data3(:,5,1))
Despite this, i realized that they still equivalents and perfectly equals.
Why my code isn't working?
I appreciate any kind of help on it. Thanks to you all. This community is one of the best in the world!

Respuesta aceptada

Star Strider
Star Strider el 21 de Mzo. de 2022
Without the data, it is not possible to determine the reason the code does not work.
See if the rmoutliers function (introduced in R2018b) will do what you want.
  6 comentarios
Gabriel Luca Pugliese Borges
Gabriel Luca Pugliese Borges el 21 de Mzo. de 2022
Alright, Strider. Thank you so much for all helping and advices. I will test all the options that you gave me.
Wish you a good day.
Star Strider
Star Strider el 21 de Mzo. de 2022
My pleasure!
You, too!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Time-Frequency Analysis 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