Interpolation of unequally spaced data

24 visualizzazioni (ultimi 30 giorni)
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 Commenti
Image Analyst
Image Analyst il 15 Lug 2014
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 il 15 Lug 2014
It is simply NOT true that you cannot use interp1. READ THE HELP.

Accedi per commentare.

Risposta accettata

Star Strider
Star Strider il 15 Lug 2014
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 Commento
Image Analyst
Image Analyst il 15 Lug 2014
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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by