clc;
clear;
n=20;
h=rand(n-1,1)+0.01;
h=h/sum(h);
for i=1:n-1
x(1)=0;
x(i+1)=x(i)+h(i);
end
v=sin(pi*x);
A=zeros(n-2);
for i=1:n-2
for j=1:n-2
if i==j
A(i,j)=(1/h(i))+(1/h(i+1));
elseif (i-j)==1
A(i,j)=-(1/h(i));
elseif (j-i)==1
A(i,j)=-(1/h(j));
end
end
end
A
S=zeros(n-2,1);
for j=1:n-2
S(j,1)=(pi^2)*sin(pi*x(j+1))*(x(j+2)-x(j))/2;
end
u=[0 ; (inv(A)*S) ; 0]'
plot(x,u,'bo',x,v,'k-')