Decrease a size of matrix using interpolation
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Good evening everyone,
I have a matrix with 108064 x 2 size. I want to decrease its size to aproximately 2000 using interpolation. Thus, if we consider this matrix as cells and my plan is to see every 64 data like one data with using interpolation and it is going to be around 1600 cells. How can i implement it on Matlab. Thank you. Sincerely...
2 comentarios
John D'Errico
el 31 de En. de 2021
That is not interpolation, but a downsizing. It sounds like you just want to average every 64 elements, a far different thing than interpolation.
Respuestas (1)
Mathieu NOE
el 1 de Feb. de 2021
hello
demo with a simple for loop :
% dummy data
VectorTime = rand(5000,2);
buffer = 64; % nb of samples for averaging
% zero overlap mean averaging
[m,n] = size(VectorTime)
for ci=1:fix(length(VectorTime)/ buffer)
start_index = 1+(ci-1)*buffer;
stop_index = min(start_index+ buffer,length(VectorTime));
time_index(ci) = round((start_index+stop_index)/2); % time index expressed as sample unit (dt = 1 in this simulation)
avg_data(ci,:) =mean(VectorTime(start_index:stop_index,:)) %
end
figure(1),
plot(time_index,avg_data);
0 comentarios
Ver también
Categorías
Más información sobre Interpolation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!