How to work with interpolation function?

1 view (last 30 days)
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
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)

Community Treasure Hunt

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

Start Hunting!