//////////////////////
// TP3 : exercice 2 //
//////////////////////

////////////Choix des paramètres///////////

L=3;//On travaille sur [0,L]
J=10;//nombre de discrétisations par unité de longueur
T=1;//temps final
N=1000;//nombre de discrétisations en temps
K=1;
r=1;
sigma=1;
dx=1/J;
dt=T/N;

//////////////////////////////////////////


x=[0:J*L]*dx;//grille en espaces
j=[0:J*L];

//La fenêtre graphique
f=scf(0);
clf();
f.pixmap="on";

//La condition finale
u=max(K-x,0);

for i=1:N

  //l'approximation du terme d'ordre 2
  disc_lapl=sigma*(j.^2).*([u(2:$) 0]+[K u(1:$-1)]-2*u)/2;
  
  //l'approximation du terme de transport
  disc_transp=r*j.*([u(2:$) 0]-u);
  
  //le schéma a proprement parler
  u=u+dt*(disc_lapl+disc_transp-r*u);
    
  //on affiche
  clf();
  title("t="+string(floor(100*dt*(N-i))/100));
  plot2d(x,max(K-x,0),12);
  plot2d(x,u,5);
  show_pixmap();
end;
