Removing outliers from Control System response?

3 views (last 30 days)
How to remove outliers from a data set that looks like the one pictured?
The data is response of a PID system that will occasionally place a random zero in the output
I cannot remove all zeroes from graph as occisionally system response will actually be zero.
If X is the dataset i know the code will look something like:
X=rmoutliers(X)
I just do not know the proper method to use this function
  1 Comment
Mathieu NOE
Mathieu NOE on 14 Nov 2022
hello
we can better help you if you share code + data

Sign in to comment.

Answers (2)

Benjamin Campbell
Benjamin Campbell on 14 Nov 2022
It would be best to find the cause of these spurious zero's first, but, if that is not possible to fix - if it is external data or something. An approximate method could be to go through all zeros, and if there is a zero either side to leave it, and if there is a non-zero on both sides to remove it (or make it the average of whatever is either side)

cr
cr on 14 Nov 2022
Check this out.
https://in.mathworks.com/matlabcentral/fileexchange/101475-peirce-s-criterion-for-outlier-rejection

Community Treasure Hunt

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

Start Hunting!

Translated by