Quadratic Spline Interpolation Code

What is the MATLAB code for quadratic splines? As linear uses interp1 linear and cubic splines uses interp1 spline. What is the corresponding interp1 coding for quadratic splines?

Answers (2)

Ameer Hamza
Ameer Hamza on 28 Apr 2020
Edited: Ameer Hamza on 28 Apr 2020
You can write your own quadratic spline function
function yq = quadSpline(x, y, xq)
X = [x(:).^2 x(:) ones(size(x(:)))];
coff = X\y(:);
yq = [xq(:).^2 xq(:) ones(size(xq(:)))]*coff;
end
Example
x = 1:10;
y = x.^2 + 5 + rand(size(x))*10;
xq = linspace(0,10);
yq = quadSpline(x, y, xq);
plot(x, y, 'r+', 'MarkerSize', 10, 'LineWidth', 2);
hold on
plot(xq, yq, 'b-');

4 Comments

this is not quadratic spline
Can you show what is wrong with his function? Can you provide a suggestion to fix it?
splines should pass from data points. This seems like polynomial regression
John D'Errico
John D'Errico on 14 Dec 2020
Edited: John D'Errico on 14 Dec 2020
The comments are correct. This is NOT a quadratic spline tool. All that is given in this answer is a quadratic polynomial regression. That is not a spline. The comment about a spline passing through the data points is not always correct though. An INTERPOLATING spline passes through the data points. However, regression or smoothing splines need not do so. But as said, this still is not a spline, in the sense that a spline is a piecewise function.

Sign in to comment.

Categories

Tags

Asked:

on 28 Apr 2020

Edited:

on 14 Dec 2020

Community Treasure Hunt

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

Start Hunting!