%Gerardo

function Hw4

% %% Section 2.7 Problem 3
% 
% %dy/dx=3-y+t
% 
% t_0=0; y_0=1;
% 
% t_end=0.4;
% 
% Nsol=16;
% 0; dt = t_end/Nsol;
% 
% t_sol = zeros(Nsol+1,1);
% y_sol = zeros(Nsol+1,1);
% y_exact = zeros(Nsol+1,1);
% 
% t_sol(1,1) = t_0;
% y_sol(1,1) = y_0;
% y_exact(1,1) = y_0;
% for it=1:Nsol
%     y_n = y_sol(it,1);
%     t_n = t_sol(it,1);
%     
%     t_np1 = t_n+dt;
%     m = 0.5-t_n+2*y_n
%     y_np1 = y_n+m*(t_np1-t_n);
%     y_sol(it+1,1) = y_np1;
%     t_sol(it+1,1) = t_np1;
%     
%     y_exact(it+1,1) = t_np1/2+exp(2*t_np1);
% end
% 
% %y_sol(Nsol+1,1)
% % y_exact(Nsol+1,1)
% % y_exact(Nsol+1,1)-y_sol(Nsol+1,1)
% 
% y_sol
% s
% 
% clf
% figure(1)
% hold on
% plot(t_sol,y_exact,'b -','LineWidth',2);
% plot(t_sol,y_sol,'r *','LineWidth',1);
% stop

%%
% 
% %% Section 3.1 Problem 10
% 
% %dy/dx=3-y+t
% t_ini=-1; t_end=10;
% Nsol=100; dt = (t_end-t_ini)/Nsol;
% 
% t_sol = zeros(Nsol+1,1);
% y_exact = zeros(Nsol+1,1);
% for it=1:Nsol+1
%     t=t_ini+dt*(it-1);
%     t_sol(it,1)=t;
%     y_exact(it,1) = -1/2*exp(-3*t)+5/2*exp(-t);
% end
% 
% %y_sol(Nsol+1,1)
% % y_exact(Nsol+1,1)
% % y_exact(Nsol+1,1)-y_sol(Nsol+1,1)
% 
% 
% clf
% figure(1)
% hold on
% plot(t_sol,y_exact,'b -','LineWidth',2);
% stop


%% Section 3.1 Problem 1

%dy/dx=3-y+t
t_ini=-5; t_end=2;
Nsol=100; dt = (t_end-t_ini)/Nsol;

t_sol = zeros(Nsol+1,1);
y_exact = zeros(Nsol+1,1);
for it=1:Nsol+1
    t=t_ini+dt*(it-1);
    t_sol(it,1)=t;
    y_exact(it,1) = -8*exp(t/2)+12*exp(t/3);
end

%y_sol(Nsol+1,1)
% y_exact(Nsol+1,1)
% y_exact(Nsol+1,1)-y_sol(Nsol+1,1)


clf
figure(1)
hold on
plot(t_sol,y_exact,'b -','LineWidth',2);
stop