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
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.
采纳的回答
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
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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!