Resampling Data using Interp1
이전 댓글 표시
Hello!
This may be a fairly obvious answer, but I'm trying to resample some data down to 100 Hz using interp1. I load my data, and then extract the first column (which is the time series) to use in my for loop. However, I get the error "Interpolation requires at least two sample points in each dimension." I tried adjusting the code to call for a(i+1) to see if maybe I needed to start later, but I got the same error. The data itself is part of my thesis so I'm not sure if I can attach it, but I've copy and pasted my code below.
Thank you in advance for any help!
load('BNI_processed.mat')
a = Force_arr;
time_matrix =(a(1:end,1)).';
for i = 1:length(time_matrix)-2
aa = length(time_matrix(i):time_matrix(i+1));
p = 61;
Force(:,i)=interp1(a(i,2),1:aa/p:aa, 'spline');
end
댓글 수: 1
Image Analyst
2020년 6월 30일
Youi forgot to attach the mat file. We'll check back tomorrow.
채택된 답변
추가 답변 (1개)
Walter Roberson
2020년 7월 1일
편집: Walter Roberson
2020년 7월 1일
load('BNI_processed.mat')
input_forces = Force_arr(:,2);
time_matrix = Force_arr(:,1);
Fs = 100;
last_time = ceil(time_matrix(end) / Fs) * Fs; %round UP
time_to_interp = 0 : 1/Fs : last_time;
Force = [time_to_interp; interp1(time_matrix, input_forces, time_to_interp)] .;
카테고리
도움말 센터 및 File Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!