How to filter data using rmoutliers?

1 vue (au cours des 30 derniers jours)
Star Rats
Star Rats le 8 Oct 2019
Modifié(e) : Star Rats le 13 Jan 2020
To remove data above 1.2 and below -1.2.
I use:
threshold = [-1.2, 1.2];
y = rmoutliers(y,'percentiles',threshold);
But error occurred:
Error using isoutlier>parseinput (line 236)
'Percentiles' value must be a sorted 2-element numeric vector with entries between 0 and 100.
Any other functions which can be used to solve the problem?

Réponses (1)

Daniel M
Daniel M le 8 Oct 2019
If you have a hard threshold you want to use, then rmoutliers is not the function you want. Just use a simple logical index to get the location of the outliers, then you can do what you want with them.
locs = abs(y)>=1.2;
% locs = find(abs(y)>=1.2); % if having the indices is easier than a logical index
You can chose whether to remove those data points, set them to the threshold value, etc.

Community Treasure Hunt

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

Start Hunting!

Translated by