Decrease a size of matrix using interpolation

조회 수: 6 (최근 30일)
Ozan Carikci
Ozan Carikci 2021년 1월 31일
답변: Mathieu NOE 2021년 2월 1일
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
John D'Errico
John D'Errico 2021년 1월 31일
That is not interpolation, but a downsizing. It sounds like you just want to average every 64 elements, a far different thing than interpolation.
Ozan Carikci
Ozan Carikci 2021년 1월 31일
Yes i want to take average of every 64 elements, how can i do downsizing on a matrix 108064 x 2 size?

댓글을 달려면 로그인하십시오.

답변 (1개)

Mathieu NOE
Mathieu NOE 2021년 2월 1일
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);

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by