% resolver
% y'= 100-100y, y(0)=2, y(t) = exp(-100t)+1
% t \in [0,tf]

% comprobar experimentalmente que el problema es stiff
% se resuelve con ode45 y el tamanno de paso necesario para resolver el
% problema con la tolerancia requerida es mucho mayor que el utilizado por
% ode15s, que es uno de los metodos que matlab recomienda para la solucion
% de problemas stiff
[t,y] = ode45('func1_tema2',[0 5],2);
length(t)
plot(t,abs(y-exp(-100*t)-1),'r');
hold on
[t,y] = ode15s('func1_tema2',[0,5],2);
length(t)
plot(t,abs(exp(-100*t)+1-y),'k')

% metodos AM de 2do y 3er orden para problema dado

h = [0.1 0.08 0.05 0.01];
for i = 1 : length(h)
    [t,y1,y3] = am13_tema2(h(i));
    % maximo del error global para h, debe decrecer a medida que h decrece
    max(abs(exp(-100*t)+1-y1))
    max(abs(exp(-100*t)+1-y3))
    % graficando soluciones aproximadas
    figure(i+1);
    plot(t,y1);
    hold on
    plot(t,exp(-100*t)+1,'r');
    plot(t,y3,'k');
end

