%
% risolve il laplaciano misto con i p1p1 (con condizioni al bordo fittizie)
%
% [x,s,u]=p1p1(a,b,n)
%
function [x,s,u]=p1p1(a,b,n)
h=(b-a)/n;
x=(a:h:b)';
%
% costruzione di A
%
A=zeros(n+1,n+1);
A=1/6*h*diag(ones(1,n),-1)+2/3*h*diag(ones(1,n+1))+1/6*h*diag(ones(1,n),1);
A(1,1)=1/3*h; A(n+1,n+1)=1/3*h;
%
% costruzione di B
%
B=zeros(n-1,n+1);
for i=1:n-1
  B(i,i)=-1/2;
  B(i,i+2)=1/2;
end
%
% la matrice M
%
M=[A B';B zeros(n-1,n-1)];
%
% il termine noto
%
F=zeros(n+1+n-1,1);
F(n+1+1:n+1+n-1)=-g(x(2:n))*h;
%
% il calcolo della soluzione
%
X=M\F;
s=X(1:n+1);
u(1)=0; u(n+1)=0;
u(2:n)=X(n+1+1:n+1+n-1);
