RESAMPLING DATA
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I am new here. I have Excell file with one column. In this column there are about 10 000 process data (let say temperatures). I need to export every 15th data to a new excell (every 15th row from first to the last one). Can someone help me?
Thanks in advance, Ivan
3 commentaires
Daniel Shub
le 16 Mai 2012
Is there a reason you are not doing this directly in Excel? What have you tried so far in MATLAB?
Réponse acceptée
Kye Taylor
le 16 Mai 2012
One way:
numData = xlsread('yourExcelFile.xlsx'); % read in data
numDataOut = numData(1:15:end); % subsample (get every 15th row)
xlswrite('yourNewExcelFile.xlsx', numDataOut); % write out data
3 commentaires
Kye Taylor
le 17 Mai 2012
You probably realized this, but "end" inside indexing parentheses returns the largest valid index at that location.
To subsample rows, replace the second command with
numDataOut = numData(1:15:end,:);
Notice numData(1:15:end,:) referes to rows 1, 16,31,... and all the columns associated with these rows (that's the ,:). (That is, you will write out the entire first, sixteenth, thirtyfirst rows etc.)
You'll probably have more luck asking a specific question about the type of filtering you're into on the main answers page. In the meantime, you might find the following cool:
t = linspace(0,1,1024);
x = sin(2*pi*t);
noisyx = x + .1*randn(size(x));
% smooth it using local averaging
windowWidth = 20;
smoothedx = conv(noisyx, 1/windowWidth*ones(1,windowWidth),'same');
figure,plot(t,noisyx,'r',t,smoothedx,'b')
legend('original signal', 'smoothed signal');
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Multirate Signal Processing dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!