

n=10;
a=-4*eye(n-1)+diag(ones(n-2,1),1)+diag(ones(n-2,1),-1);
A=a;
for i = 1:n-2
    A=blkdiag(A,a);
end

size(A)
A=A+diag(ones((n-1)^2-(n-1),1),n-1)+diag(ones((n-1)^2-(n-1),1),-(n-1));


f=zeros((n-1)^2,1);
f(1:n-1)=-sin(pi*(.1:.1:.9));

v=A\f;

v=reshape(v,n-1,n-1);

u=zeros(n+1,n+1);
u(2:n,2:n)=v;
u(1:n+1,1)=sin(pi*(0:.1:1));


[x,y]=meshgrid(0:.1:1,0:.1:1);

surf(x,y,u)


