Data: Interp1 spline and cubic method
31 views (last 30 days)
Show older comments
Im just trying to figure out how I would use the Interp1 function with the spline method and the Interp1 withe cubic method for approximation. Are the Interp1 function and some call to spline linked in the same code.
For example how would you approximate this data using the Interp1 function and spline method/ whats the difference between the cubic method.
year=[1;2;3;4;5;6;7;8;9;10];
pop=[5;10;15;20;25;30;35;40;50;60];
0 Comments
Accepted Answer
Matt J
on 1 Nov 2019
Edited: Matt J
on 1 Nov 2019
how would you approximate this data using the Interp1 function and spline method
For example,
year=[1;2;3;4;5;6;7;8;9;10];
pop=[5;10;15;20;25;30;35;40;50;60];
interp1(year,pop, 2.5,'spline')
whats the difference between the cubic method.
It's just a different interpolation kernel. The cubic method will gives an interpolated curve that is only once-differentiable, but it will follow the shape of the data more closely than a spline interpolation. Example:
y=[zeros(1,10) 1 1.15 1.15 1 zeros(1,10)];
x=1:numel(y);
xq=linspace(1,numel(y),1000);
plot(x,y,'o',xq,interp1(y,xq,'spline'), xq, interp1(y,xq,'cubic'))
legend('', 'Spline','Cubic')
4 Comments
Matt J
on 1 Nov 2019
Edited: Matt J
on 1 Nov 2019
This might be what you want
year=[1;2;3;4;5;6;7;8;9;10];
pop=[5;nan;15;20;nan;30;nan;40;50;60];
newp = fillmissing( pop, 'pchip','SamplePoints',year);
yq=linspace(1,10,100);
plot(year,newp,'o',...
yq,interp1(newp,yq,'spline'),'x',...
yq, interp1(newp,yq,'cubic'));
legend('Data', 'Spline/Pchip','Cubic/Pchip')
More Answers (0)
See Also
Categories
Find more on Splines 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!