Linear Interpolate to n equally spaced points

I have two sets of coordinate data. The rates of the two are different. I would like to linearly interpolate one tot he same length as the other. I have tried various methods of interp1 but can't seem to get what I need. An quick example would be
in_vector =[0 5 10 5 0].
Need 15 samples of this data.
out_vector = interp(in_vector, 15)
and produces and output of
[0, 1.42857, 2.85714, 4.28571, 5.71429, 7.14286, 8.57143, 10.0000,
8.57143, 7.14286, 5.71429, 4.28571, 2.85714, 1.42857, 0].
Basically what interpft but linear and not FFT.

 Réponse acceptée

dpb
dpb le 20 Oct 2015
Modifié(e) : dpb le 20 Oct 2015
doc interp1
>> v=[0 5 10 5 0]; L=length(v);
>> interp1(1:L,v,linspace(1,L,15))
ans =
Columns 1 through 10
0 1.4286 2.8571 4.2857 5.7143 7.1429 8.5714 10.0000 8.5714 7.1429
Columns 11 through 15
5.7143 4.2857 2.8571 1.4286 0
>>

1 commentaire

kevin
kevin le 20 Oct 2015
I was so close! linspace was what I was missing. Thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interpolation dans Centre d'aide et File Exchange

Question posée :

le 20 Oct 2015

Commenté :

le 20 Oct 2015

Community Treasure Hunt

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

Start Hunting!

Translated by