Filter löschen
Filter löschen

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

3 Ansichten (letzte 30 Tage)
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 Kommentare
Conor Dixon
Conor Dixon am 26 Jul. 2018
Bob,
Thanks for the reply. The data is not roughly linear overall.
Bob Thompson
Bob Thompson am 26 Jul. 2018
Is it some kind of vibration response, or fluctuation data? Basically, how much variation is there between two or three points?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Weitere Antworten (1)

dpb
dpb am 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.

Kategorien

Mehr zu Preprocessing Data finden Sie in Help Center und File Exchange

Produkte


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by