Make discontinuous data continuous
Show older comments
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)
>> 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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!