{{위키데이터 속성 추적}}
[[파일:Midpoint_method_illustration.png|오른쪽|섬네일|중간점 방법을 이용하여 <math>y_{n}</math>이 실제 값 <math>y(t_n)</math>과 같게 되는 것을 나타낸다. 중간점 방법이 <math>y_{n+1}</math>을 계산하여 빨간 선이 중점에서의 접선(초록 선)과 거의 평행하도록 만든다.]]
[[응용수학]]의 분야인 [[수치해석학|수치 해석]]에서, '''중간점 방법'''은 [[수치 상미분방정식|수치적으로]] 다음의 [[상미분방정식|미분 방정식]]을 푸는 한 단계 크기의 방법이다.
: <math> y'(t) = f(t, y(t)), \quad y(t_0) = y_0 </math>.
명시적인 중간점 방법은 다음의 식으로 주어진다.
: <math> y_{n+1} = y_n + hf\left(t_n+\frac{h}{2},y_n+\frac{h}{2}f(t_n, y_n)\right), \qquad\qquad (1e)</math>
암시적인 중간점 방법은 다음과 같다.
: <math> y_{n+1} = y_n + hf\left(t_n+\frac{h}{2},\frac12 (y_n+y_{n+1})\right), \qquad\qquad (1i)</math>
단계 <math>n=0,1,2,...</math>이고, <math>h
</math>는 ''단계 크기''라고 불리는 작은 양수이다. <math>t_n=t_0+nh</math>이고, <math>y_n</math>은 <math>y(t_n)</math>이다. 명시적 중간점 방법은 '''수정된 오일러 방법'''으로도 알려져 있으며,<ref>{{harvnb|Süli|Mayers|2003|p=328}}</ref> 암시적인 방법은 가장 간단한 [[배열 방법]]이고, 해밀턴 역학과, [[사교 적분자]]에도 적용된다.

이 방법의 이름은 솔루션의 기울기를 위의 식에서 함수<math>f</math>가 <math> y(t)</math>의 알고 있는 값인 <math> t_n</math>과 우리가 찾아야 하는 <math> y(t)</math>의 값인 <math> t_{n+1}</math>의 중점인 <math> t=t_n+h/2</math>에서 계산하는 것에서 지어졌다.

중간점 방법의 각 단계에서의 지역 오차는 <math> O(h^3)</math>이며,전체 오차는 <math> O(h^2)</math>로 나타난다. 따라서, [[오일러 방법|오일러의 방법]]보다는 더욱 계산이 많은 반면에, 방법의 중간점 방법의 오차는 일반적으로 <math> h\rightarrow0</math>일 때, 오일러의 방법보다 더욱 빠르게 감소한다.

이 방법은 [[룽게-쿠타 방법]]이라는 높은 차수의 방법의 예시 중 하나이다.

== 중간점 방법의 유도 ==
[[파일:Numerical_integration_illustration,_step=1.svg|오른쪽|섬네일|그림은 식의 수치적분 <math>y'=y,y(0)=1</math>을 나타낸 것이다. 파란색: 오일러 방법, 녹색:중간점 방법, 빨간색: 정확한 <math>y=e^{t}</math>의 솔루션이다. 단계 크기는 <math>h=1.0</math>이다.]]
[[파일:Numerical_integration_illustration_step=0.25.svg|오른쪽|섬네일|같은 수치해석의 그림이나 단계크기는 <math>h=0.25</math>이다. 중간점 방법은 오일러 방법보다 더 빠르게 수럼한다는것을 볼 수 있다.]]
중간점 방법은 다음의 오일러 방법의 구체화이다.
: <math>y_{n+1}=y_n+hf(t_n,y_n)</math>
그리고 중간점 방법은 같은 방식으로 도출된다. 오일러 방법을 유도하는 핵심은 근사적으로 같은 것이다.
: <math> y(t+h) \approx y(t) + hf(t,y(t)) \qquad\qquad (2)</math>
이것은 기울기의 수식에서 얻은 것이다.
: <math> y'(t) \approx \frac{y(t+h) - y(t)}{h} \qquad\qquad (3)</math>
<math> y' = f(t, y)</math>인 것을 기억하자.

중간점 방법의 경우, (3)이 더욱 정확하게 된다.
: <math> y'\left(t+\frac{h}{2}\right) \approx \frac{y(t+h) - y(t)}{h} </math>
(2)를 대신 할 때, 우리는 다음을 찾는다.
: <math> y(t+h) \approx y(t) + hf\left(t+\frac{h}{2},y\left(t+\frac{h}{2}\right)\right). \qquad\qquad (4)</math>
<math> t+h/2</math>에서 <math> y</math>의 값을 모르는 경우에는 이 방법을 사용해서 <math>y(t+h)</math>를 구할 수 없다. 이 솔루션은 [[오일러 방법]]을 사용하여 <math>y(t+h/2)</math>을 구할 때처럼 테일러 급수를 사용한다:
: <math>y\left(t + \frac{h}{2}\right) \approx y(t) + \frac{h}{2}y'(t)=y(t) + \frac{h}{2}f(t, y(t)),</math>
(4)에 적용할 때, 다음과 명시적 중간점 방법 (1e)를 얻을 수 있다.
: <math>y(t + h) \approx y(t) + hf\left(t + \frac{h}{2}, y(t) + \frac{h}{2}f(t, y(t))\right)</math>
내재적 방법 (1i)은 <math>
y(t)</math>에서 <math>
y(t+h)</math>까지의 선분의 중간점으로 반 단계인 <math>
t+h/2</math>에서의 값을 근사해서 얻을 수 있다.
: <math>y\left(t+\frac h2\right)\approx \frac12\bigl(y(t)+y(t+h)\bigr)</math>
따라서
: <math id="https://wikimedia.org/api/rest_v1/media/math/render/svg/fba04b08b10ebd565754afb108e49fde3c0fa247">\frac{y(t+h)-y(t)}{h}\approx y'\left(t+\frac h2\right)\approx k=f\left(t+\frac h2,\frac12\bigl(y(t)+y(t+h)\bigr)\right)</math>
<math id="https://wikimedia.org/api/rest_v1/media/math/render/svg/fba04b08b10ebd565754afb108e49fde3c0fa247">
y(t_n+h)</math>에 <math id="https://wikimedia.org/api/rest_v1/media/math/render/svg/fba04b08b10ebd565754afb108e49fde3c0fa247">y_n+hk</math>를 대입한 결과는 암시적 룽게-쿠타 방법이 된다.
: <math>\begin{align}
k&=f\left(t_n+\frac h2,y_n+\frac h2 k\right)\\
y_{n+1}&=y_n+h\,k
\end{align}</math>
첫번째 부분에서 단계 크기 <math /> 암시적 오일러 방법이 포함된다.
: <math> y_{n+1} = y_n + hf\left(t_n+\frac{h}{2},y_n+\frac{h}{2}f(t_n, y_n)\right), \qquad\qquad (1e)</math>
암시적인 방법의 시간대칭성 때문에 지역 오차의 짝수 차수 항이 지워지기 때문에 자동적으로 지역오차는 <math>
O(h^3)</math>이다. 명시적 오일러 방법이 암시적 방법으로 대체되면 명시적인 중간점 방법에서 k의 결과를 재결정한다.

== 같이 보기 ==
* [[사각형 방법]]
* [[호인의 방법]]
* [[도약적분|도약 적분]]과 [[베렛 적분]]

== 각주 ==
{{각주}}

== 참조 ==
* {{서적 인용|제목=Numerical methods for engineers: a programming approach|성=Griffiths,D. V.|성2=Smith, I. M.|연도=1991|출판사=CRC Press|위치=Boca Raton|쪽=218|isbn=0-8493-8610-1}}

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