문제 16 · 실습 — 이산 합성곱
numpy.convolve 로
python
import numpy as np
x = np.array([1, 2, 1]) # x[0..2]
h = np.array([1, 1, 1]) # h[0..2]
y_np = np.convolve(x, h) # numpy 합성곱
# 정의식 직접 계산: y[n] = sum_k x[k] h[n-k]
y_def = [int(sum(x[k] * h[n-k] for k in range(len(x))
if 0 <= n-k < len(h))) for n in range(len(x)+len(h)-1)]
print("numpy y[n] =", y_np) # [1 3 4 3 1]
print("정의식 y[n] =", y_def)