Removing outliers from Control System response?

1 次查看(过去 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

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by