function y=difference_eq_1(ni,nf,a,b,y0,x)
                                         % 반복 대입법에 의한 차분 방정식 풀이 함수

n=ni:nf;                                       % 차분 방정식의 해 계산 범위 설정 
yy=[y0 zeros(1,length(n))];                    % 해 배열 데이터 초기화
N=length(a); M=length(b)-1;                    % 차분 방정식의 계수 차수 검색
for k=N+1:N+length(n)     
  yy(k)=a*yy(k-1:-1:k-N)'+b*x(k:-1:k-M)';        % y[n] 계산     
end
y=yy(N+1:N+length(n));                         % y[n] 재배열(초기값 y0 제외한 결과)