MATLAB Answers

How to work with interpolation function?

2 views (last 30 days)
R7 DR
R7 DR on 19 Feb 2015
Commented: R7 DR on 20 Feb 2015
I am trying to do the interpolation between given set of data. I used interp1 function but it is showing the error as ''The grid vectors are not strictly monotonic increasing''
A=
290.21
291.22
291.11
290.73
293.03
299
304.92
323.5
323.63
322.93
323.35
327.91
334.71
338.42
354.02
353.05
354
359.45
367.48
368.58
368.28
382.41
B=
0.10855
0.11775
0.12746
0.13738
0.14831
0.16082
0.17539
0.32785
0.35750
0.38682
0.41663
0.44895
0.48715
0.52816
0.69683
0.70275
0.70755
0.71234
0.71765
0.72197
0.72559
0.75153
I write the code like this..
x=0.2:0.1:0.5
D=interp1(B,A,x)
How to solve this problem??
Thanks

  6 Comments

Show 3 older comments
R7 DR
R7 DR on 19 Feb 2015
How to deal with interpolation, in this case ‘A’ is not strictly monotonically increasing, but ‘B’.
Star Strider
Star Strider on 19 Feb 2015
The code you posted works. What do you want to do with your data and the interpolation? You have to tell us what the problem is.
R7 DR
R7 DR on 20 Feb 2015
Hi
I wrote the code like this, but showing the same error. I am attaching the excel file. could you please check once.
A=xlsread('interpolation.xlsx','sheet1','A:A')
B=xlsread('interpolation.xlsx','sheet1','B:B')
x=0.2:0.1:0.5
D=interp1(B,A,x)
Thanks

Sign in to comment.

Accepted Answer

Titus Edelhofer
Titus Edelhofer on 20 Feb 2015
Hi,
in your file B67 is equal to B68. Remove one of the lines.
Titus

  2 Comments

Titus Edelhofer
Titus Edelhofer on 20 Feb 2015
No, since the data on x are not monotonic. Now it depends on the application, you can e.g. sort the data (using sort or sortrows), if this makes sense.
R7 DR
R7 DR on 20 Feb 2015
Is there any function to deal with the interpolation of these kind of data, becuae I cant modify the data.

Sign in to comment.

More Answers (0)

Sign in to answer this question.


Translated by