๋ฏธ๋ถ„๋ฐฉ์ •์‹์„ ์ˆ˜์น˜์ ์œผ๋กœ ๊ทผ์‚ฌํ•  ๋•Œ, 2์ฐจ ์ด์ƒ์˜ ๋ฏธ๋ถ„ํ…€๊นŒ์ง€ ์‚ฌ์šฉํ•˜๋Š” ๊ทผ์‚ฌ๋ฒ•. ๋‹จ, ์ „๋ฏธ๋ถ„์„ ๊ตฌํ•ด์•ผ ํ•ด์„œ ๊ณ„์‚ฐ์ด ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค.

4 minute read

์ˆ˜ํ•™๊ณผ ๋ณต์ˆ˜์ „๊ณต์„ ์œ„ํ•ด ์กธ์—… ๋งˆ์ง€๋ง‰ ํ•™๊ธฐ์— โ€œ์ˆ˜์น˜ํ•ด์„๊ฐœ๋ก โ€ ์ˆ˜์—…์„ ๋“ฃ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜ํ•™๊ณผ ์กธ์—…์‹œํ—˜๋„ ๊ฒธ์‚ฌ๊ฒธ์‚ฌ ์ค€๋น„ํ•  ๊ฒธ ํ™”์ดํŒ… ํ•ด๋ด…์‹œ๋‹ค!! ์ „์ฒด ํฌ์ŠคํŠธ๋Š” โ€œNumerical Analysisโ€œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋“ค์–ด๊ฐ€๋ฉฐ

์ง€๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ณธ, โ€œEuler Methodโ€œ๋Š” 1์ฐจ ๋ฏธ๋ถ„๊ฐ’ $yโ€™(t)$์˜ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ ์Šคํ…์˜ ๊ฐ’์„ ๊ทผ์‚ฌ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ๊ผญ 1์ฐจ ๋ฏธ๋ถ„๊ฐ’๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”? 2์ฐจ ๋ฏธ๋ถ„๊ฐ’ $y^{\prime\prime}(t)$, 3์ฐจ ๋ฏธ๋ถ„๊ฐ’ $y^{(3)}(t)$๊ณผ ๊ทธ ์ด์ƒ์„ ์‚ฌ์šฉํ•ด ๊ทผ์‚ฌํ•œ๋‹ค๋ฉด ๋” ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ์š”?

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” 1์ฐจ ์ด์ƒ์˜ ๋ฏธ๋ถ„๊ฐ’์„ ํ™œ์šฉํ•ด ๋ฏธ๋ถ„๋ฐฉ์ •์‹์„ ๊ทผ์‚ฌํ•˜๋Š” โ€œTaylor Methodโ€์— ๋Œ€ํ•ด ์‚ดํŽด๋ด…๋‹ˆ๋‹ค!

(review) Euler Method

์˜ค์ผ๋Ÿฌ ๋ฐฉ์‹์—์„œ๋Š” ๋ฏธ๋ถ„๋ฐฉ์ •์‹์„ ๊ธฐ์šธ๊ธฐ ๊ทผ์‚ฌ๋ฅผ ํ†ตํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

\[u'_n \approx \frac{u_{n+1} - u_n}{k} = f(t_n, u_n)\]

๊ทธ๋ฆฌ๊ณ  ์‹์„ ์ •๋ฆฌํ•˜๋ฉด,

\[u_{n+1} = u_n + k f(t_{n}, u_{n})\]

์‚ฌ์‹ค ์œ„์˜ ์‹์€ ์•„๋ž˜์˜ ํ…Œ์ผ๋Ÿฌ ์ „๊ฐœ์—์„œ ์–ป์€ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

\[u(t+k) = u(t) + \frac{k}{1!} u'(t) + \frac{k^2}{2!} u''(t) + \cdots\]

์˜ค์ผ๋Ÿฌ ๋ฐฉ์‹์ด ํ…Œ์ผ๋Ÿฌ ์ „๊ฐœ์˜ 1์ฐจ ๋ฏธ๋ถ„ํ•ญ๊นŒ์ง€๋งŒ ์‚ฌ์šฉํ•œ 1์ฐจ ๊ทผ์‚ฌ๋ฒ•์ด๊ณ , ํ…Œ์ผ๋Ÿฌ ๋ฐฉ์‹์€ โ€œ2์ฐจ ๋ฏธ๋ถ„ํ•ญโ€๊นŒ์ง€ ์‚ฌ์šฉํ•˜๋Š” 2์ฐจ ๊ทผ์‚ฌ๋ฒ• ์ž…๋‹ˆ๋‹ค.

Taylor Method

ํ…Œ์ผ๋Ÿฌ ๋ฐฉ์‹์€ ์˜ค์ผ๋Ÿฌ ๋ฐฉ์‹์„ ์ผ๋ฐ˜ํ™”ํ•œ ์ ‘๊ทผ ์ž…๋‹ˆ๋‹ค. ํ…Œ์ผ๋Ÿฌ ์ „๊ฐœ์—์„œ $p$-th ํ•ญ๊นŒ์ง€ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

\[u(t+k) = u(t) + \frac{k}{1!} u'(t) + \frac{k^2}{2!} u''(t) + \cdots + \frac{k^p}{p!} u^{(p)}(t)\]

์ด๊ฒƒ์„ ๋ฏธ๋ถ„๋ฐฉ์ •์‹ $f(\cdot)$๊ณผ ํ•จ๊ป˜ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

\[u_{n+1} = u_n + k f(t_n, u_n) + \frac{k^2}{2!} f'(t_n, u_n) + \cdots + \frac{k^p}{p!} f^{(p-1)}(t_n, u_n)\]

๋ฏธ๋ถ„๋ฐฉ์ •์‹ $f(t, u) = uโ€™$๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฏธ๋ถ„ํ•˜์—ฌ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ํ•ญ์„ ํฌํ•จํ•˜๊ฒŒ ๋˜๋ฉด์„œ, ์ •ํ™•๋„๋Š” ๋†’์•„์ง€์ง€๋งŒ ๊ฐ ๋ฏธ๋ถ„ํ•ญ์— ๋Œ€ํ•œ ๊ณ„์‚ฐ์ด ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค.

Example

\[u' = t^2 \sin u\]

์œ„์™€ ๊ฐ™์€ ๋ฏธ๋ถ„๋ฐฉ์ •์‹์ด ์žˆ์„ ๋•Œ, ์ด๋ฅผ ์˜ค์ผ๋Ÿฌ ๋ฐฉ์‹๊ณผ 2์ฐจ ํ…Œ์ผ๋Ÿฌ ๋ฐฉ์‹์œผ๋กœ ๊ทผ์‚ฌ ํ•ด๋ด…์‹œ๋‹ค.

[Euler Method]

\[\begin{aligned} u_{n+1} &= u_n + k \cdot u'(t_n, u_n) \\ &= u_n + k \cdot (t^2 \sin u_n) \end{aligned}\]
\[u_{n+1} = u_n + k \cdot u'(t_n, u_n) + \frac{k^2}{2} \cdot {\color{red} u''(t_n, u_n)}\]

์ด๋•Œ, $u^{\prime\prime}(t, u(t))$๋ฅผ ๊ตฌํ•˜๋ ค๋ฉด ์ „๋ฏธ๋ถ„์„ ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

\[\begin{aligned} u''(t, u(t)) &= \frac{\partial}{\partial t} (t^2 \sin u) + \frac{\partial}{\partial u} (t^2 \sin u) \\ &= (2t \sin u) + (t^2 \cos u \cdot u') \\ &= 2t \sin u + t^2 \cos u \cdot (t^2 \sin u) \\ &= 2t \sin u + t^4 \cos u \sin u \end{aligned}\]

๋”ฐ๋ผ์„œ ์‹์„ ์ตœ์ข… ์ •๋ฆฌํ•˜๋ฉด,

\[\begin{aligned} u_{n+1} &= u_n + k \cdot u'(t_n, u_n) + \frac{k^2}{2} u''(t_n, u_n) \\ &= u_n + k \cdot \left(t^2 \sin u_n\right) + \frac{k^2}{2} \cdot (\cdots) \\ &= u_n + k \cdot \left(t^2 \sin u_n\right) + \frac{k^2}{2} \cdot \left( 2t \sin u_n + t^4 \cos u_n \sin u_n \right) \end{aligned}\]

Total Difference

2์ฐจ ๋ฏธ๋ถ„๊ฐ’ $uโ€™โ€˜$์„ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” $f(t, u)$๋ฅผ ๋ฏธ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์ด ํ•จ์ˆ˜๋Š” $t$์™€ $u$, ๋‘ ๋ณ€์ˆ˜์— ์˜์กดํ•˜๋Š” 2๋ณ€์ˆ˜ ํ•จ์ˆ˜ ์ž…๋‹ˆ๋‹ค! ๊ทธ๋ž˜์„œ $fโ€™(t, u)$๋Š” ๋‘ ํŽธ๋ฏธ๋ถ„์„ ๋”ํ•œ ์ „๋ฏธ๋ถ„(total difference)์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

\[\begin{aligned} f'(t, u) &= f_t(t, u) + f_u(t, u) \cdot u'(t) \\ &= f_t(t, u) + f_u(t, u) \cdot f(t, u) \end{aligned}\]

๋งบ์Œ๋ง

ํ…Œ์ผ๋Ÿฌ ๋ฐฉ์‹์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฏธ๋ถ„ ๋ฐฉ์ •์‹์˜ ์ •ํ™•๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, ๋ณต์žกํ•œ ์ „๋ฏธ๋ถ„ ๊ณ„์‚ฐ์œผ๋กœ ๊ณ ์ฐจ ๋ฏธ๋ถ„์„ ์–ป์–ด์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ฒƒ์ด One-step ๋ฐฉ์‹์„ ๊ฐœ์„ ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” โ€œRunge-Kutta Methodโ€์ž…๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‚ดํŽด๋ด…์‹œ๋‹ค!

โžก๏ธ Runge-Kutta Method