Clear Filters
Clear Filters

How to average this excel data, so that it retains all data but reduces in length?

3 views (last 30 days)
Two different programs were used in recording two sets of data. They both used slightly different time intervals so that one program had 1,300 data points and the other program had 1,560 data points. Both data sets were of 130 seconds of recording. The program which recorded the 1,300 data points did it every millisecond, where as the other program seems to have recorded at a slightly faster interval.
Now, the .xls file which contains 1,560 data points must have only 1,300 data points, but points simply cannot be randomly deleted to achieve this. Is there a way to average the data evenly so that it reduces in size to 1,300?
Excuse me as I have only been using MATLAB for a few months. Thanks for all of the input!
  3 Comments
Bob Thompson
Bob Thompson on 26 Jul 2018
Is it some kind of vibration response, or fluctuation data? Basically, how much variation is there between two or three points?

Sign in to comment.

Accepted Answer

Conor Dixon
Conor Dixon on 26 Jul 2018
matrix = xlsread('filename')
n = 1.2;
NewTable = arrayfun(@(i) mean(matrix(i:i+n-1)),1:n:length(matrix)-n+1)';
NewTable = table(NewTable);
writetable(NewTable,'NewTable.csv');

More Answers (1)

dpb
dpb on 26 Jul 2018
If you have Signal Processing TB, use
doc resample
Simple interpolation can be accomplished by interp1 or if you turn the data into timetable by using retime both of which have several choices of interpolation.

Categories

Find more on Preprocessing Data in Help Center and File Exchange

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!