How do I get rid of noise in my data matrix?

2 次查看(过去 30 天)
I have a set of data that cycles from low x&y values to high x&y values. Using the ismember function, I've been able to find the max/min values for each cycle. However, becuase this is actual data, there is a lot of noise in the data. So instead of getting one max value and one min value for every cycle, I am getting multiple min/max values. I know the index values for the points and I know each value should be spaced out by about 500 data points. So if I see that the index values between two points are less than 450, I know that there are multiple min/max values for that cycle. How could I write a code that automatically detects and eliminates those noisy data points from my data matrix? I'm guessing it has something to do with an if-then statement, but I'm not sure how. Thanks!

采纳的回答

John D'Errico
John D'Errico 2019-1-30
An if statement? Well you can try anything you want. But you won't be happy. Instead, just use a simple moving average filter, or a Savitsky-Golay filter, or a Gaussian blur filter. Any of these tools will smooth your data.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品


版本

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by