MATLAB Answers

Error when interpolating data code attached

2 ビュー (過去 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 日
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 件)

Community Treasure Hunt

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

Start Hunting!

Translated by