フィルターのクリア

Removing spikes with standard deviation

3 ビュー (過去 30 日間)
Gabriel Luca Pugliese Borges
Gabriel Luca Pugliese Borges 2022 年 3 月 21 日
コメント済み: Star Strider 2022 年 3 月 21 日
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!

採用された回答

Star Strider
Star Strider 2022 年 3 月 21 日
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 件のコメント
Gabriel Luca Pugliese Borges
Gabriel Luca Pugliese Borges 2022 年 3 月 21 日
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 2022 年 3 月 21 日
My pleasure!
You, too!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTime-Frequency Analysis についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by