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

3 次查看(过去 30 天)
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 个评论
Bob Thompson
Bob Thompson 2018-7-26
Is it some kind of vibration response, or fluctuation data? Basically, how much variation is there between two or three points?

请先登录,再进行评论。

采纳的回答

Conor Dixon
Conor Dixon 2018-7-26
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');

更多回答(1 个)

dpb
dpb 2018-7-26
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.

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by