Removing top and bottom outliers
2 views (last 30 days)
Show older comments
Nicholas Omoding
on 12 Jul 2021
Edited: Scott MacKenzie
on 12 Jul 2021
I’ve surface damage depth (D) for 3D points (x, y, z). I’d like remove top and bottom 5% of the D values with their corresponding (x, y, z) from the matrix so that I can plot the remaining 90% of the points. Based on the attached sub set of the data, please kindly assist on the based way to achieve this with the rmoutliers function?
0 Comments
Accepted Answer
Scott MacKenzie
on 12 Jul 2021
Edited: Scott MacKenzie
on 12 Jul 2021
Yes, the rmoutliers function will do the trick. After removing the top and bottom 5% of the values, the vectors below are reduced from 100 elements each to 90 elements each.
% test data
x = rand(1,100);
y = rand(1,100);
z = rand(1,100);
D = rand(1,100);
[D, TF] = rmoutliers(D, 'percentiles', [5 95]);
x(TF) = [];
y(TF) = [];
z(TF) = [];
whos
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!