%% PchipDemo.m %% 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 % % * the data, % * values obtained from |pchip|, % * and a smooth MATLAB graph. %% 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