Make discontinuous data continuous

I have the following 2 arrays:
x = [0 450 1200 5000 9000 14000 20000]
y = [-23 6 -1 8 -8 1 -20]
I would like to interpolate on the x axis to get a total of 256 y values.
I've tried using y(index) but the problem there is that my x-axis data is discontinuous. Using the index function where Y is not already defined returns
Empty matrix: 1-by-0
Is there any way to connect each point to create a continuous distribution so I can use the index function?

Answers (1)

Stephen23
Stephen23 on 20 Jun 2016
Edited: Stephen23 on 20 Jun 2016
>> xi = [0,450,1200,5000,9000,14000,20000];
>> yi = [-23,6,-1,8,-8,1,-20];
>> xo = linspace(xi(1),xi(end),256);
>> yo = interp1(xi,yi,xo);
>> yo(:)
ans =
-23.000000
-17.945534
-12.891068
-7.836601
-2.782135
2.272331
5.807843
5.075817
4.343791
3.611765
2.879739
... lots more here
-16.156863
-16.431373
-16.705882
-16.980392
-17.254902
-17.529412
-17.803922
-18.078431
-18.352941
-18.627451
-18.901961
-19.176471
-19.450980
-19.725490
-20.000000

Categories

Find more on Interpolation in Help Center and File Exchange

Asked:

on 20 Jun 2016

Edited:

on 20 Jun 2016

Community Treasure Hunt

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

Start Hunting!