close all;                                     % 모든 생성된 창을 닫음 
clear all;                                     % 열려있는 작업영역(workspace)을 모두 비움 
clc;                                           % 명령(command) 창을 비움

t=-4:0.001:6;                                  % 시간축 설정(-4에서 6까지 0.001 간격)   
x=stepfun(t,-2)-stepfun(t,2);                  % x(t)=u(t+2)-u(t-2) 생성
h=(-t+3).*(stepfun(t,0)-stepfun(t,3));         % h(t)=(-t+3)[u(t)-u(t-3)] 생성
y=conv(x,h)*0.001;                             % 컨벌루션 수행 y(t)=x(t)*h(t) 

n=-4:1:6;                                      % 시간축 설정(-4에서 6까지)   
xd=stepfun(n,-2)-stepfun(n,3);                 % x[n]=u[n+2]-u[n-3] 생성
hd=(-n+3).*(stepfun(n,0)-stepfun(n,3));        % h[n]=(-n+3)(u[n]-u[n-3]) 생성
yd=conv(xd,hd);                                % 컨벌루션 수행 y[n]=x[n]*h[n]

subplot(3,2,1);                                % 3행 2열 분할 그림 창의 1번 창 
plot(t,x);                                     % x(t)를 그림
title('x(t)');                                 % 그림 제목 
axis([-4 6 0 2]);                              % x축과 y축의 그림 영역 지정 
subplot(3,2,3);                                % 3행 2열 분할 그림 창의 3번 창 
plot(t,h);                                     % h(t)를 그림
title('h(t)','fontsize',12);                   % 그림 제목 
axis([-4 6 0 4]);                              % x축과 y축의 그림 영역 지정 
subplot(3,2,5);                                % 3행 2열 분할 그림 창의 5번 창 
plot(t,y(4001:14001))                          % y(t)를 그림 
title('y(t)');                                 % 그림 제목 
axis([-4 6 0 5]);                              % x축과 y축의 그림 영역 지정 
subplot(3,2,2);                                % 3행 2열 분할 그림 창의 2번 창 
stem(n,xd);                                    % x[n]을 그림
title('x[n]');                                 % 그림 제목 
axis([-4 6 0 2]);                              % x축과 y축의 그림 영역 지정 
subplot(3,2,4);                                % 3행 2열 분할 그림 창의 4번 창 
stem(n,hd);                                    % h[n]을 그림
title('h[n]');                                 % 그림 제목 
axis([-4 6 0 4]);                              % x축과 y축의 그림 영역 지정 
subplot(3,2,6);                                % 3행 2열 분할 그림 창의 6번 창 
stem(n,yd(5:15))                               % y[n]을 그림 
title('y[n]');                                 % 그림 제목 
axis([-4 6 0 7]);                              % x축과 y축의 그림 영역 지정 