interp1 measurements drifting

1 view (last 30 days)
Nikolaos Zafirakis
Nikolaos Zafirakis on 24 Jul 2019
Answered: Bhargavi Maganuru on 22 Aug 2019
I have some original data plotted below and I need to interpolate it with my other set of measurements. However whenever I run my interpolation function the initial measurements start at an unreal value. Both sets of data are different lengths.
Original Data
(y is Data, x is just number of measurements)
SS = (:,1:5)
SS1 = SS(:,4) % Time reference
SS2 = SS(:,1) % Data
K = interp1( SS1(1:end,1) , SS2(1:end,1) , RefernceTime(1:end,1),'pchip');
Interpolated data
(y is interpolated data and x is the reference times)
Bhargavi Maganuru
Bhargavi Maganuru on 20 Aug 2019
Can you attach SS and RefernceTime data files

Sign in to comment.

Answers (1)

Bhargavi Maganuru
Bhargavi Maganuru on 22 Aug 2019
As you mentioned SS1 and SS2 are arrays of 32 columns, but in the line
K = interp1(SS1(1: end,1), SS2(1: end,1), RefernceTime (1: end,1),'pchip');
it is taking only one column of SS1 and SS2. You can directly use SS1, SS2 and ReferenceTime.
K = interp1(SS1, SS2, RefernceTime, 'pchip');
You can look at following code to interpolate array with 32 columns:
%random data
ss2=rand (1,32);
ss1= (1:32)
k=interp1(ss1, ss2, ReferenceTime, 'pchip')
plot (ss1, ss2,'o', ReferenceTime, k, ':.');
Refer to the following link for more information about “interp1” function:


Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by