clf
clear all
set(0,'defaultaxesfontsize',20);
dt=0.01;
t=0:dt:10;
%
T=2;
a=-1; b=0;
a1=1; a2=1;
x=a1*exp(a*(t)).*unitstep(t);
h1=a2*exp(b*t).*unitstep(t);
h=-(t-T).*(unitstep(t)-unitstep(t-T));
y=dt*conv(x,h);
%
c1=1/(a-b); c2=1/(b-a);
tc=0:dt:20;
z=(c1*exp(a*(tc))+c2*exp(b*(tc))).*unitstep(tc);
z1=(c1*exp(a*(tc-T))+c2*exp(b*(tc-T))).*unitstep(tc-T);
w0=(1/a)*(z-tc.*unitstep(tc));
w1=(1/a)*(z1-(tc-T).*unitstep(tc-T));
ytheory=(a1*a2)*(T*z-w0+w1);
%
e1=-1; e2=2.25;
figure(1)
subplot(2,2,1)
plot(t,x,'Linewidth',3)
grid
axis([min(t) max(t) e1 e2])
set(gca,'XTick',[min(t):max(t)],'YTick',[e1:.25:e2])
title('x(t)');
subplot(2,2,2)
plot(t,h,'Linewidth',3)
grid
axis([min(t) max(t) e1 e2])
set(gca,'XTick',[min(t):max(t)],'YTick',[e1:.25:e2])
title('h(t)');
subplot(2,2,3)
plot(tc,y,'Linewidth',3)
grid
axis([min(tc) max(tc) e1 e2])
set(gca,'XTick',[min(tc):2:max(tc)],'YTick',[e1:.25:e2])
title('y(t)=x(t)*h(t) via DT convolution');
hold on
plot(tc,ytheory,'r','Linewidth',3)
hold off
subplot(2,2,4)
plot(tc,ytheory,'r','Linewidth',3)
grid
%e2=9;
axis([min(tc) max(tc) e1 e2])
set(gca,'XTick',[min(tc):2:max(tc)],'YTick',[e1:.25:e2])
title('Theoretical y(t)=x(t)*h(t)');

