Error when interpolating data code attached

1 回表示 (過去 30 日間)
shobhit mehrotra
shobhit mehrotra 2015 年 3 月 11 日
編集済み: per isakson 2015 年 3 月 11 日
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 件のコメント
shobhit mehrotra
shobhit mehrotra 2015 年 3 月 11 日
te: time for mass spectrometer
tg: gps time
eth: concentration of ethane (parts per billion)
shobhit mehrotra
shobhit mehrotra 2015 年 3 月 11 日
the code and workspace are attached Thank You!

サインインしてコメントする。

採用された回答

per isakson
per isakson 2015 年 3 月 11 日
編集済み: per isakson 2015 年 3 月 11 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by