{{위키데이터 속성 추적}}
[[수학]]과 [[계산과학]]에서 '''호인의 방법(Heun's Method)'''은 '''개선된'''<ref>{{인용|last1=Süli|first1=Endre|last2=Mayers|first2=David|title=An Introduction to Numerical Analysis|publisher=[[Cambridge University Press]]|isbn=0-521-00794-1|year=2003}}.</ref> 또는 '''수정된 오일러 방법'''(즉, '''명시적 사다리꼴 법칙'''<ref>{{인용|last1=Ascher|first1=Uri M.|last2=Petzold|first2=Linda R.|author2-link=Linda Petzold|title=Computer Methods for Ordinary Differential Equations and Differential-Algebraic Equations|publisher=[[Society for Industrial and Applied Mathematics]]|location=Philadelphia|isbn=978-0-89871-412-8|year=1998}}.</ref>)을 가리키거나 비슷한 두 단계 [[룽게-쿠타 방법]]을 가리킨다. 이는 [[카를 호인]]의 이름을 딴 것이며 주어진 [[초기값 문제|초기값]]을 가지고 [[상미분방정식]](ODE)을 푸는 수치적 절차이다. 두 변종은 오일러 방법의 두 단계의 이차 룽게-쿠타 방법으로의 확장으로도 볼 수 있다.

초기값 문제를 개선된 오일러 방법으로 수치적 솔루션을 구하는 절차는:
: <math>y'(t) = f(t,y(t)), \qquad \qquad y(t_0)=y_0, </math>
호인의 방법은, 첫번째로 중간값 <math>\tilde{y}_{i+1}</math> 최종 근사치 <math>y_{i+1}</math>.
: <math>\tilde{y}_{i+1} = y_i + h f(t_i,y_i)</math>
: <math>y_{i+1} = y_i + \frac{h}{2}[f(t_i, y_i) + f(t_{i+1},\tilde{y}_{i+1})],</math>
여기서 <math>h</math>단계 크기이고, <math>t_{i+1}=t_i+h</math>.

== 해설 ==
오일러 방법은 호인의 방법의 기초가 된다. 오일러의 방법은 구간의 시작점에서의 함수의 접선을 구간 전체의 평균 기울기로 사용한다. 단계 크기가 충분히 작다고 가정하면 오차도 작을 것이다. 하지만 단계 크기가 극한으로 작다 하더라도 많은 단계에서는 오차는 축적되기 시작하고 추정값은 실제 함수값과 차이가 생긴다.

솔루션의 곡선이 위로 오목하면 그 접선은 다음 점의 수직좌표를 낮게 잡게되고 반대도 마찬가지이다. 이상적인 예측선은 다음 예측점에서 곡선에 닿을 것이다. 실제로는 솔루션 곡선이 위로 오목한지 아래로 오목한지 알 방법이 없기 때문에 다음 예측점은 수직하게 크거나 작을 것이다. 볼록성은 일관성이 유지되지 않기 때문에 예측선은 솔루션의 정의역에서 높거나 낮을 것이다.
호인의 방법은 접선 조각의 스팬 구간을 전체로 생각함으로 이 문제를 다룬다. 위로 오목한 경우에는, 왼쪽 예측 접선은 현재 점에서 다음 예측점까지의 구간 전체에서 곡선의 평균 기울기를 낮게 평가한다. 만약 오른쪽 예측 접선을 고려한다면(오일러의 방법을 통해 예상할 수 있다), 이는 반대의 문제가 생길 것이다.<ref>{{웹 인용|title=Numerical Methods for Solving Differential Equations|publisher=San Joaquin Delta College|url=http://calculuslab.deltacollege.edu/ODE/7-C-2/7-C-2-h.html|archiveurl=https://web.archive.org/web/20090212005921/http://calculuslab.deltacollege.edu/ODE/7-C-2/7-C-2-h.html|archivedate=2009-02-12}}</ref> 왼쪽 점에서 그은 접선의 점은 솔루션 계산중인 구간의 오른쪽 끝점을 포함해서 곡선의 모든 점보다 낮은 수직좌표를 가진다. 해결책은 기울기를 약간 더 크게하는 것이다. 호인의 방법은 하나는 실제 값보다 수직좌표를 크게 계산하고 다른 하나는 작게 계산하는 솔루션 곡선의 양 끝 접선을 계산한다. 예측선은 오일러 방법을 통해 근사한 오른쪽 끝점의 접선의 기울기를 기반으로 생성되어야 한다. I기울기가 구간의 왼쪽 끝점을 통과하면 결과는 이상적인 예측선으로 쓰기에는 너무 가파르고 이상적인 점을 크게 계산한다. 따라서 이상적인 점은 근사적으로 잘못된 큰 계산과 작은 계산의 평균에 있을 것이다.
[[파일:Heun's_Method_Diagram.jpg|대체글=Heun's Method.|오른쪽|섬네일|호인의 방법을 사용하여 낮은 차수의 오일러 방법과 비교해서 오차가 더 적은 예측을 찾는 다이어그램이다.]]
오일러의 방법은 대략적으로 솔루션의 다음 점의 위치를 계산하는데 사용되고 이 지식을 바탕으로 원래의 예측을 재-예측하거나 ''수정''한다.<ref>{{인용|last1=Chen|first1=Wenfang.|last2=Kee|first2=Daniel D.|title=Advanced Mathematics for Engineering and Science|publisher=World Scientific|location=MA, USA|isbn=981-238-292-5|year=2003}}.</ref> 방정식의 오른쪽에 있는 양 <math>\textstyle f(x, y)</math><math>\textstyle (x, y) </math>, 이것은 다음 점의 오일러 예측과 결합하여 오른쪽 끝 접선의 기울기를 얻을 수 있다. 다음으로 두 기울기의 평균은 구간의 오른쪽 끝의 위치를 교정하는데 사용된다.

== 파생 ==
: <math>\text{Slope}_{\text{left}} = f(x_i, y_i)</math>
: <math>\text{Slope}_{\text{right}} = f(x_i + h, y_i + h f(x_i, y_i))</math>
: <math>\text{Slope}_{\text{ideal}} = (1/2) (\text{Slope}_{\text{left}} + \text{Slope}_{\text{right}})</math>
선의 기울기는 상승/실행된다고 하는 원리를 사용하면 구간의 끝에 있는 위치는 다음의 공식을 통해 찾을 수 있다:
: <math>\text{Slope}_{\text{ideal}} = \frac{\Delta y}{h} </math>
: <math>\Delta y = h (\text{Slope}_{\text{ideal}})</math>

: <math>x_{i+1} = x_i + h</math>, <math>\textstyle y_{i+1} = y_i + \Delta y</math>
: <math>y_{i+1} = y_i + h \text{Slope}_{\text{ideal}}</math>
: <math>y_{i+1} = y_{i} + \frac{1}{2} h (\text{Slope}_{\text{left}} + \text{Slope}_{\text{right}})</math>

: <math>y_{i+1} = y_{i} + \frac{h}{2}(f(x_i, y_i) + f(x_i + h, y_i + hf(x_i, y_i)))</math>
호인의 방법의 정확성을 2차적으로 개선하는 반면에 오일러 방법의 정확성은 단계 크기가 줄어들 때 선형으로만 개선된다.<ref>{{웹 인용|url=http://livetoad.org/Courses/Documents/214a/Notes/euler-heun_method.pdf|제목=The Euler-Heun Method|출판사=LiveToad.org|확인날짜=2017-09-05|보존url=https://web.archive.org/web/20160304025539/http://livetoad.org/Courses/Documents/214a/Notes/euler-heun_method.pdf|보존날짜=2016-03-04|url-status=dead}}</ref> 이 방법은 [[암시적 사다리꼴 방법]]과 비교될 수 있지만<math>f(t_{i+1},y_{i+1})</math><math>f(t_{i+1},\tilde{y}_{i+1})</math>. <math>\tilde{y}_{i+1}</math>은 같은 초기값 문제의 한 단계의 [[오일러 방법]]의 해이다. 따라서 호인의 방법은 일반적인 [[오일러 방법]]을 예측자로 사용하고 [[사다리꼴 방법]]을 수정자로 사용하는 [[예측자-수정자 방법]]이다.

== 룽게-쿠타 방법 ==
개선된 오일러 방법은 두 단계 [[룽게-쿠타 방법]]이고, 존 C. 버처(John C. Butcher) 이후의 버처(Butcher) 테이블을 통해 표현할 수 있다:
{| style="margin-bottom: 10px;" cellspacing="0px" cellpadding="3px"
| style="border-right:1px solid;" | 0
|- 
| style="border-right:1px solid; border-bottom:1px solid;" | 1
| style="border-bottom:1px solid;" | 1
|-
| 1/2
| 1/2
|}
호인의 방법을 가리키는 (랄스톤의 방법이라고도 알려진) 다른 방법은 다음의 버처 테이블을 가진다:
{| style="margin-bottom: 10px;" cellspacing="0px" cellpadding="3px"
| style="border-right:1px solid;" | 0
|- 
| style="border-right:1px solid; border-bottom:1px solid;" | 2/3
| style="border-bottom:1px solid;" | 2/3
|-
| 1/4
| 3/4
|}

== 각주 ==
<references />

{{수치상미분방정식}}

[[분류:수치미분방정식]]
[[분류:룽게-쿠타 방법]]