Info

此问题已关闭。 请重新打开它进行编辑或回答。

False result why applying interp1 function!

2 次查看(过去 30 天)
inti
inti 2014-7-18
关闭: MATLAB Answer Bot 2021-8-20
Hi to all,
I have data taken at non-regular intervals, and I'd like to interpolate the data to have values every 100ms.
if
17:43:08.437 > ATT_HandleValueNotification: status=0 h=45 n=3 07 C7 17
17:43:08.477 > ATT_HandleValueNotification: status=0 h=45 n=3 07 C7 17
17:43:08.497 > ATT_HandleValueNotification: status=0 h=45 n=3 07 C7 17
17:43:08.516 > ATT_HandleValueNotification: status=0 h=45 n=3 07 C7 17
17:43:08.537 > ATT_HandleValueNotification: status=0 h=45 n=3 09 C7 17
17:43:08.577 > ATT_HandleValueNotification: status=0 h=45 n=3 07 C7 17
end
My code is :
if s=data(:,3)+data(:,4)/1000; % convert to seconds+fractions
t = datenum(2014,07,18,data(:,1),data(:,2),s)*86400;
t = t - t(1);
sample = interp1(t,res(:,1:3), 0:0.01:t(end)); % i fixed a time to 100ms to obtain estimated data in this time
// end
Thanks in advance
end
  5 个评论
the cyclist
the cyclist 2014-7-18
编辑:the cyclist 2014-7-18
@inti,
By far the best thing you can do to help us solve your problem is to give us a small piece of functioning MATLAB code (including the part that defines the data) that illustrates the problem. Otherwise, we spend far too much time guessing.
inti
inti 2014-7-18
Thanks for your reply.
I have irregular time series data: (time (h:m:s:ms), X-acceleration, Y-acceleration, Z-acceleration)in hexadecimal
Portion of my log file
if 17:43:08.437 > ATT_HandleValueNotification: status=0 h=45 n=3 07 C7 17
17:43:08.477 > ATT_HandleValueNotification: status=0 h=45 n=3 07 C7 17
17:43:08.497 > ATT_HandleValueNotification: status=0 h=45 n=3 07 C7 17
17:43:08.516 > ATT_HandleValueNotification: status=0 h=45 n=3 07 C7 17
17:43:08.537 > ATT_HandleValueNotification: status=0 h=45 n=3 09 C7 17
end
The first column is for a Time and the three last columns are for acceleration's data (x,y,z).
My goal here is to interpolate irregular Time series to regular time series and i like to obtain acceleration's data every 0.01 seconds.
After converting acceleration's data from hexadecimal to acceleration's g , i obtain this table
if 0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,140625000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
end
And this a portion of a table sample after applying interp1 function :
if
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
0,110866306584362 -0,890625000000000 0,359375000000000
0,125746056832695 -0,890625000000000 0,359375000000000
0,140624576267240 -0,890625000000000 0,359375000000000
0,132812426778048 -0,890625000000000 0,359375000000000
0,125000277288855 -0,890625000000000 0,359375000000000
0,117188127799663 -0,890625000000000 0,359375000000000
0,109375978310470 -0,890625000000000 0,359375000000000
0,109375000000000 -0,890625000000000 0,359375000000000
end
i think that i have a duplicate values

回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by