In this payer we propose a design method of an iterative learning controller (ILC) for a non-minimum phase (NMP) system by model-matching theory. The ILC consists of two learning filters acting on both the previous input signal and the previous error signal. To design the learning filters, we convert the convergence condition of the ILC into the model-matching problem and get the stable and propel learning filter by solving the Nevanlinna's algorithm. To show the usefulness of the proposed algorithm, some design examples are included.