clf
clear all
set(0,'defaultaxesfontsize',20);
dt=0.01;
t=0:dt:10;
% 
a=2; b=3;
a1=1; a2=1;
t0=0;
x=a1*rect((t-0.5*a)/a);
h=a2*t.*rect((t-0.5*b)/b);
y=dt*conv(x,h);
%
c0=(b^2-a^2)/2;  ac=(a+b)/2;
tc=0:dt:20;
z=0.5*tc.^2.*rect((tc-0.5*a)/a)+(a*tc-(a^2/2)).*rect((tc-ac)/(b-a))+(-0.5*tc.^2+a*tc+c0).*rect((tc-(b+0.5*a))/a);
%
e1=0; e2=4;
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:.5: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:.5: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:.5:e2])
title('y(t)=x(t)*h(t) via DT convolution');
hold on
plot(tc,z,'r','Linewidth',3)
hold off
subplot(2,2,4)
plot(tc,z,'r','Linewidth',3)
grid
axis([min(tc) max(tc) e1 e2])
set(gca,'XTick',[min(tc):2:max(tc)],'YTick',[e1:.5:e2])
title('Theoretical y(t)=x(t)*h(t)');

