////---------------------------------------------------
////
//// Resolution du Laplacien 1 D en differences finies.
////
////---------------------------------------------------
//// -u"=f sur [a,b]
//// condition de Dirichlet u(a)=alpha, u(b)=beta.
////
//// Auteur : V. Martin
//=====================================================

//===========================
// Parametres physiques
a = 0;                           // taille du domaine
b = %pi;
alpha = 0;                       // conditions de Dirichlet
beta = 0;
deff('y=f(x)','y=sin(x)')
deff('y=solex(x)','y=sin(x)')

//===========================
// Parametres numeriques
n = 500                         // nb de points de discretisation
h = (b-a)/(n+1)

//===========================
// Maillage
x = linspace(a,b,n+2)

//===========================
// Assemblage de la matrice
e0 = ones(n,1)
e1 = ones(n-1,1)
A = 2*diag(sparse(e0),0)-diag(sparse(e1),-1)-diag(sparse(e1),1)
A = A/h/h

//===========================
// Second membre

F = f(x(2:$-1))
F(1) = F(1)+alpha/h/h
F(n) = F(n)+beta/h/h

//===========================
// Resolution
u = A\F'
u=[alpha;u;beta]

//===========================
// Visualisation
plot(x,u);
plot(x,solex(x),'r')

