Interpolation of unequally spaced data

24 次查看(过去 30 天)
I have a small set of (x,y) data points which are not evenly spaced. I want to interpolate the data for some analysis work.With very few points I am unable to work out.I cant use interp1 for the data is not evenly spaced.ANY SUGGESTIONS ?
3425.0 12.5 825.0 25 200 37.5 75 50 25 62.5 12.5 75
  2 个评论
Image Analyst
Image Analyst 2014-7-15
Please supply the x locations, and the y values of your input data. Then supply us the x locations of the places where you want your estimated output y values.
John D'Errico
John D'Errico 2014-7-15
It is simply NOT true that you cannot use interp1. READ THE HELP.

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2014-7-15
Your data do not have to be evenly spaced to use interp1.
For example:
x = sort(unique(randi(50,1,10)));
y = randi(10,1,length(x));
xi = linspace(0,max(x),15);
yi = interp1(x,y,xi,'linear');
figure(1)
plot(x,y,'-*b')
hold on
plot(xi,yi,'pr')
hold off
grid
legend('Original','Interpolated')
  1 个评论
Image Analyst
Image Analyst 2014-7-15
It's not clear, but his xi might also be randomly located (that's why I asked), but your code should also work with
xi = sort(unique(randi(50,1,10)));
just as well, since, like John said, there's no reason interp1 won't work with randomly located data.

请先登录,再进行评论。

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by