Removing outliers from Control System response?

4 次查看(过去 30 天)
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

回答(2 个)

Benjamin Campbell
Benjamin Campbell 2022-11-14
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 2022-11-14
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