How to work with interpolation function?

2 次查看(过去 30 天)
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 个评论
Star Strider
Star Strider 2015-2-19
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 2015-2-20
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

请先登录,再进行评论。

采纳的回答

Titus Edelhofer
Titus Edelhofer 2015-2-20
Hi,
in your file B67 is equal to B68. Remove one of the lines.
Titus
  2 个评论
Titus Edelhofer
Titus Edelhofer 2015-2-20
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 2015-2-20
Is there any function to deal with the interpolation of these kind of data, becuae I cant modify the data.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by