Error when interpolating data code attached

1 view (last 30 days)
Im getting an error using the interp1, the workspace is attached. I think the issue is with te, where it jumps suddenly at indices 5139-5140. te is a time vector, eth is a concentration
ethi = interp1 (te, eth, (tg+5))
  3 Comments
shobhit mehrotra
shobhit mehrotra on 11 Mar 2015
te: time for mass spectrometer
tg: gps time
eth: concentration of ethane (parts per billion)
shobhit mehrotra
shobhit mehrotra on 11 Mar 2015
the code and workspace are attached Thank You!

Sign in to comment.

Accepted Answer

per isakson
per isakson on 11 Mar 2015
Edited: per isakson on 11 Mar 2015
I get an error when I run your code
>> ethi = interp1 (te, eth, (tg+5));
Error using griddedInterpolant
The grid vectors are not strictly monotonic increasing.
Error in interp1 (line 191)
F = griddedInterpolant(X,V,method);
The message, The grid vectors are not strictly monotonic increasing., is clear enough.
>> issorted( te )
ans =
1
>> issorted( tg )
ans =
1
so far so good
>> any(diff(te)==0)
ans =
1
>> any(diff(tg)==0)
ans =
0
Thus, te is not strictly monotonic
>> find(diff(te)==0)
ans =
11034
>> te(11032:11036)'
ans =
1.0e+09 *
1.4164 1.4164 1.4164 1.4164 1.4164
>> format hex
>> te(11033:11036)'
ans =
41d51b408950b780 41d51b408950be0e 41d51b408950be0e 41d51b408950c49c
>>
>> figure, plot( te(11030:11040) )
&nbsp
&nbsp
Did you get the same or a different error message?
&nbsp
This works
>> te(11034)= te(11035)-eps(te(11035));
>> ethi = interp1 (te, eth, (tg+5));
>> te(11033:11036)'
ans =
41d51b408950b780 41d51b408950be0d 41d51b408950be0e 41d51b408950c49c

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!