function [t,y,u]=esempi(N,met)
% [t,y,u]=pp(N,met)
%
% y'=-y+t  0 <= t <= 10
% y(0)=1
%
% u: soluzione discreta
% N: numero di sottointervalli
% met =1 Eulero esplicito 
% met =2 Eulero implicito 
% met =3 Punto medio 
% met =4 Crank-Nicolson 
% met =5 Taylor 
  h=10/N;
  t=[0:h:10];
  u(1)=1;
  for n=1:N
    switch met
      case 1
	u(n+1)=u(n)+h*(-u(n)+t(n));
      case 2
	u(n+1)=(u(n)+h*t(n+1))/(1+h);
      case 4
	u(n+1)=(u(n)+h/2*(-u(n)+t(n)+t(n+1)))/(1+h/2);
      case 5
	u(n+1)=u(n)+h*(-u(n)+t(n))+h^2/2*(1-(-u(n)+t(n)));
    end
  end
  if (met==3)
    u(2)=2*exp(-h)+h-1;
    for n=2:N
      u(n+1)=u(n-1)+2*h*(-u(n)+t(n));
    end
  end
  y=2*exp(-t)+t-1;
end
