PchipDemo.m

Contents

Overview

Illustrates piecewise cubic Hermite interpolation by calling pchip (which evaluates the piecewise polynomial interpolating the data in the vectors x and y at the list of points in the vector u)

As output we get plots of

Initialization

clear all
close all
% Define the data and evaluation points
x = [3 1 5 6 0];
y = [1 -3 2 4 2];
u = linspace(0,6,50);

Call pchip

Evaluate piecewise cubic Hermite interpolant at all points in u

v = pchip(x,y,u);

Plots

Plot the data

hold on
xlim([-1 7])
ylim([-4 5])
plot(x,y,'bo','LineWidth',2)
legend('Data','Location','NorthWest')
pause

Plot the values computed with pchip

plot(u,v,'g*','LineWidth',2)
legend('Data','Values from pchip','Location','NorthWest')
pause

Let MATLAB do some more interpolation to get a continuous graph

plot(u,v,'r','LineWidth',2)
legend('Data','Values from pchip','MATLAB graph','Location','NorthWest')
hold off