function dataS

% example data set: cubic spline interpolation
% requires subaxis.m and parseArgs.m files (for plotting)

%  ysM = MATLAB spline function (uses not-a-knot)
%  ys = natural spline (requires nspline.m file)


%  generate the data sets

a=-1; b=1;
nx=12;
xd=linspace(a,b,nx);

% 5th degree poly
for iy=1:nx
    yd4(iy)=(xd(iy)+0.9)*(xd(iy)+0.1)^2*(xd(iy)-0.2)*(xd(iy)-0.8);
end

% jump function
for iy=1:nx
    yd1(iy)=(-1)^iy*0.02;
end
yd1(5)=1; yd1(6)=1; yd1(7)=1; yd1(8)=1;

% oscillatory function
for iy=1:nx
    yd2(iy)=(-1)^iy;
end

% oscillatory function
for iy=1:nx
    yd3(iy)=sqrt(1-xd(iy)^2);
end


% plot data and spline functions

n=1000;
xp=linspace(a,b,n);

clf
% get(gcf)
set(gcf,'Position', [3 978 666 367])

subaxis(2,2,1,1,'MT',0.003,'MB',0.1,'MR',0.01,'ML',0.06,'P',0.01)
hold on
box on
plot(xd,yd4,'or','MarkerSize',7,'LineWidth',2)
axis([-1.1 1.1 -0.2 0.4])
grid on
ylabel('y-axis')
set(gca,'FontSize',14,'FontWeight','bold')

pause
ys11 = nspline(xd,yd4,xp);
plot(xp,ys11,'b','LineWidth',1.2)
ysM11 = spline(xd,yd4,xp);
plot(xp,ysM11,'--k','LineWidth',1.2)
legend({' Data',' Natural',' Not-a-Knot'},'Location','NorthWest','FontSize',14,'FontWeight','bold')
pause

subaxis(2,2,2,1)
hold on
box on
plot(xd,yd3,'or','MarkerSize',7,'LineWidth',2)
axis([-1.1 1.1 -0.1 1.1])
grid on
set(gca,'ytick',[0 0.5 1])
set(gca,'FontSize',14,'FontWeight','bold')

pause
ys12 = nspline(xd,yd3,xp);
plot(xp,ys12,'b','LineWidth',1.2)
ysM12 = spline(xd,yd3,xp);
plot(xp,ysM12,'--k','LineWidth',1.2)
pause

subaxis(2,2,1,2)
hold on
box on
plot(xd,yd2,'or','MarkerSize',7,'LineWidth',2)
axis([-1.1 1.1 -1.25 1.25])
grid on
xlabel('x-axis')
ylabel('y-axis')
set(gca,'FontSize',14,'FontWeight','bold')

pause
ys21 = nspline(xd,yd2,xp);
plot(xp,ys21,'b','LineWidth',1.2)
ysM21 = spline(xd,yd2,xp);
plot(xp,ysM21,'--k','LineWidth',1.2)
pause

subaxis(2,2,2,2)
hold on
box on
plot(xd,yd1,'or','MarkerSize',7,'LineWidth',2)
axis([-1.1 1.1 -0.25 1.25])
grid on
xlabel('x-axis')
%ylabel('y-axis')
set(gca,'FontSize',14,'FontWeight','bold')

pause
ys22 = nspline(xd,yd1,xp);
plot(xp,ys22,'b','LineWidth',1.2)
ysM22 = spline(xd,yd1,xp);
plot(xp,ysM22,'--k','LineWidth',1.2)







