clear
clc
x=[0 1 2 3 4 5 6 7 8 9 10]
y=[0 1 0 -1 0 1 0 -1 0 1 0]
n=length(x);
y1=transpose(y);
k1=ones(n-1,1);k2=ones(n-1,1);
Q1=4*eye(n)+diag(k1,1)+diag(k2,-1)
Q1(1,1)=Q1(1,1)+1;
Q1(n,n)=Q1(n,n)+1;
y2=transpose(Q1\(6*y1))
y3=[y2(1) y2 y2(n)]
x1=transpose(x);
x2=transpose(Q1\(6*x1));
x3=[x2(1) x2 x2(n)]
t=0:0.005:1;
hold on
for i=1:n-1
m=x3(i)*(1/6)*(-t.^3+3*t.^2-3*t+1)+x3(i+1)*(1/6)*(3*t.^3-6*t.^2+4)...
+x3(i+2)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+x3(i+3)*(1/6)*t.^3;
n=y3(i)*(1/6)*(-t.^3+3*t.^2-3*t+1)+y3(i+1)*(1/6)*(3*t.^3-6*t.^2+4)...
+y3(i+2)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+y3(i+3)*(1/6)*t.^3;
plot(m,n,'k');
plot(x,y,'k');
end