How to remove spikes without modifying the dataset?
39 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
I need to remove spikes from a signal, but I don't want to modify the dataset. Using the medfilt1 function, it can remove spikes but it also interpolates all the dataset. As an example, given the following dataset
data = [1,2,10,1,3,2,1,2];
the function gives
>> medfilt1(data)
ans =
1 2 2 3 2 2 2 1
but what I want is
1 2 NaN 1 3 2 1 2
i.e. I just want to remove the spike (10) replacing it with a NaN.
Is this possible in some way?
Thank you
0 Commenti
Risposte (1)
Star Strider
il 22 Mar 2021
data = [1,2,10,1,3,2,1,2];
TF = isoutlier(data); % Function Introduced In R2017a
data(TF) = NaN
producing:
data =
1 2 NaN 1 3 2 1 2
To keep the original ‘data’ vector, first make a copy of it, then do the analyses.
0 Commenti
Vedere anche
Categorie
Scopri di più su Electrophysiology in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!