How do i bin large data sets?
    6 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
I am trying to bin a large 2000hz data set into averge bins of 100ms for EMG data.
I have tried to reshape the data but Matlab keeps throwing up the problem that there are "not enough input arguments" currently the script reads
%reshape data by order 100
data_binned= mean(reshape(data,100,length,(data)/100,1));
0 commentaires
Réponses (3)
  Robert
      
 le 2 Mai 2016
        It looks like you have an extra comma after length, which would cause the error you are seeing.
0 commentaires
  Walter Roberson
      
      
 le 2 Mai 2016
        Fs = 2000;
t = 0.100;
blocksize = round(Fs*t);
numsamp = length(data);
num_blocks = floor(numsamp/blocksize);
blocks = blocksize * ones(1, num_blocks));
sampsused = num_blocks * blocksize;
if sampsused ~= numsamp
   blocks(end+1) = numsamp - sampsused;
end
datacell = mat2cell(data(:), blocks, 1);
The above will break the data up into separate cell array entries.
But possibly for your purpose you just need
Fs = 2000;
t = 0.100;
blocksize = round(Fs*t);
data_binned = buffer(data(:), blocksize);
0 commentaires
Voir également
Catégories
				En savoir plus sur Statistics and Machine Learning Toolbox dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


