Computing mean of each step in measurement data

Hi everyone,
I have measurement data ‘measurement_data.mat’. I would like to compute the mean at each step where the value is not changing by a huge value. By eyeballing the plot of the data for the first column, it can be seen there are 125 steps. After computing the mean at each step I would like the data to finally be a matrix of 125x4 from being a matrix of 17850x4.
I have tried taking the mean of every n elements to get a meaningful result but it hasn't worked. The step size is not consistent all through.
Any kind of help or suggestion will be appreciated.
Thanks in Advance.

3 Comments

Maybe it would be easier just to delete unnecessary data with uniquetol?
You also may try to spot the blocks where the data change slowly by using diff, and then average in these blocks.
UPD. Sorry, the first option with uniquetol was stupid. Here, I guess, exactly your problem is considered.
Thanks, Let me check these out.
Do you have a simple implementation on how to average the blocks where data is changing slowly as you've suggested in the second statement. I will be greatful for a snippet of code on how to implement this.

Sign in to comment.

Answers (1)

Try movmedian() where the window width is the width of your step width. The median filter removes noise while keeping edges sharp.

1 Comment

Hi Image Analyst,
I have used movemedian and yes it has removed the noise while keeping the edges sharp.
Now getting the value of each step so that I finally have 125 elements in the column is giving me some trouble. I will appreciate any ideas you through my way. Thanks

Sign in to comment.

Products

Release

R2019a

Asked:

on 17 Jun 2020

Commented:

on 18 Jun 2020

Community Treasure Hunt

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

Start Hunting!