RESAMPLING DATA

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 comentarios

Jan
Jan el 16 de Mayo de 2012
Please explain the relation to Matlab. It looks liek an Excel problem.
Daniel Shub
Daniel Shub el 16 de Mayo de 2012
Is there a reason you are not doing this directly in Excel? What have you tried so far in MATLAB?
Ivan Mohler
Ivan Mohler el 16 de Mayo de 2012
I would like to generate this problem in Matlab, because I have a lots of problem when I have in one column more then 10 000 data... I am doing some modelling in matlab, so I wanna solve this kind of problem in it. If someone has got global answer for this kind of problems, please help me....

Iniciar sesión para comentar.

 Respuesta aceptada

Kye Taylor
Kye Taylor el 16 de Mayo de 2012

0 votos

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 comentarios

Ivan Mohler
Ivan Mohler el 16 de Mayo de 2012
Kye Taylor --> I will try your solution and report you... Tell me is the "end" my last row in my column (real number) or? Thanks...here you soon...
Ivan Mohler
Ivan Mohler el 17 de Mayo de 2012
Kye, it works....Thanks a lot.
Can you tell me how can I do this but with rows?
Do you into (familiar) filters...The thing is I need some smoothing filter for my data....
If you are into I can explane to you much more deeper...
Kye Taylor
Kye Taylor el 17 de Mayo de 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');

Iniciar sesión para comentar.

Más respuestas (1)

Ivan Mohler
Ivan Mohler el 16 de Mayo de 2012

0 votos

I would like to generate this problem in Matlab, because I have a lots of problem when I have in one column more then 10 000 data... I am doing some modelling in matlab, so I wanna solve this kind of problem in it. If someone has got global answer for this kind of problems, please help me.... Kye Taylor --> I will try your solution and report you... Tell me is the "end" my last row in my column (real number) or? Thanks...here you soon...

Productos

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by