파트6 상미분방정식 -...

26
2017-11-30 1 파트 6 상미분방정식 6.1 개요 6.2 파트의 구성 Applied Numerical Methods 20장 상미분방정식: 초기값 문제 6.1 개요(1/4) § 공학과 과학에서 상미분방정식을 유도하고 해를 구하는 과정.

Upload: others

Post on 28-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

1

파트 6 상미분방정식

6.1 개요

6.2 파트의 구성

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

6.1 개요(1/4)

§ 공학과 과학에서 상미분방정식을 유도하고 해를 구하는 과정.

Page 2: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

2

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

6.1 개요(2/4)

§ 번지 점프하는 사람의 속도 변화율을 기술하는 미분방정식

§ 미분방정식의 분류

- 상미분방정식 : 한 개의 독립변수

편미분방정식 : 두 개 이상의 독립변수

- 2차 방정식 : 2차 도함수를 포함

- n차 방정식 : n차 도함수를 포함

여기서 v = 종속변수

t = 독립변수

2dcdv g vdt m

= -

2

2 0d x dxm c kxdt dt

+ + =

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

6.1 개요(3/4)

§ 고차 미분방정식 → 1차 방정식계로 변환

-종속변수의 1차 도함수를 새로운 변수로 정의한다.

-식(PT6.3)과 식(PT6.4) 를 식(PT6.2) 에 대입하면,

-따라서 최종 1차 방정식계는 다음과 같다.

식(PT6.2)

식(PT6.3), 식(PT6.4)

dx vdtdv c kv xdt m m

=

= - -

2

2 0d x dxm c kxdt dt

+ + =

0dvm cv kxdt

+ + =

2

2

dv, then t

dx d xvdt d dt

= =

Page 3: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

3

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

6.1 개요(4/4)

§ n차 미분방정식의 유일 해를 구하기 위해서는 n개의 조건이 필요하다.

§ 초기값 문제 : 같은 독립변수 값에서(예를 들면 x=0 또는t=0 에서) 모든 조건이 부여됨

§ 경계값 문제 : 다른 독립변수 값에서 조건들이 부여됨

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

6.2 파트의 구성

20장 : 초기값 문제

21장 : 적응식 방법과 강성시스템

22장 : 경계값 문제

Page 4: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

4

20장 초기값 문제

20.1 개요20.2 Euler법20.3 Euler법의 개선20.4 Runge-Kutta법20.5 연립방정식

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20장 초기값 문제 (1/2)

번지 점프하는 사람의 자유낙하 속도를 구하는 문제로 돌아가자.

여기서 sign(x) = sgn(x) = 시그넘 함수

떨어지는 경우 ® sign(v)=1 ® 음의 항력(위쪽)

올라가는 경우 ® sign(v)=–1 ® 양의 항력(아래쪽)

점프 줄이 늘어날 때 위 방향으로 작용하는 추가의 힘을 고려

� 근사화하는데 Hooke의 법칙을 사용

‚ 줄이 늘어나거나 줄어들 때 발생하는 마찰로 인한 감쇠력

2)(sign vmc

vgdtdv d-=

Page 5: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

5

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20장 초기값 문제 (2/2)

( x > L인 경우에만 성립)

vmγLx

mkv

mc

vgdtdv d ----= )()(sign 2

여기서 v = 속도 (m/s)

t = 시간 (s)

g = 중력가속도 = 9.81 m/s2

cd = 항력 계수 (kg/m)

m = 질량 (kg)

k = 줄의 스프링상수 (N/m)

x = 출발지점으로부터 아래로 측정한 거리 (m)

L = 늘어나지 않은 줄의 길이 (m)

g = 감쇠계수 (N×s/m)

vdtdx

=

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.1 개요

상미분방정식의 일반적인 형태:

1장에서 소개된 단일단계법 (또는 Runge-Kutta법):

이것을 수학적으로 표현하면

어떻게 기울기를 추정하는가?

® 미분방정식을 사용하여 ti에서의 1차 도함수의 형태로 추정

),( ytfdtdy

=

크기간격기울기값이전값새로운 ´+=

hyy ii f+=+1여기서 f = 기울기 = 증분함수

® 이전 값 yi에서 새로운 값 yi+1을 구하기 위해거리 h 에 대해 적용

® & 다단계법: 이전의 여러 점에서의 정보를 사용

Page 6: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

6

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.2 Euler법 (1/8)

1차 도함수가 곧 ti에서의 기울기 추정값

이 식을 대입하면

Euler법 (또는 Euler-Cauchy법 또는 점-기울기 법)

),( ii ytf=f

hytfyy iiii ),(1 +=+

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.1 (Euler법) (1/4)

Q. Euler법을 이용하여 y' = 4e0.8t – 0.5y를

t = 0에서 4까지 간격 크기를 1로 놓고 적분하라.

초기 조건은 t = 0 에서 y = 2이다.

참고로 엄밀해를 해석적으로 구하면 다음과 같다.

ttt eeey 5.05.08.0 2)(3.1

4 -- +-=

Page 7: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

7

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.1 (Euler법) (2/4)

풀이)

첫 번째 단계에 대해

초기조건은 y(0) = 2이므로 t = 0에서 기울기는

®

t = 1에서의 정해:

백분율 상대오차:

)1)(2,0()0()1( fyy +=

3)2(5.04)2,0( 0 =-= ef 5)1(32)1( =+=y

19463.62)(3.1

4 )1(5.0)1(5.0)1(8.0 =+-= -- eeey

%28.19%10019463.6

519463.6=´

-=e t

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.1 (Euler법) (3/4)

두 번째 단계에 대해

t = 2에서의 정해: 14.84392

백분율 상대오차: 23.19%

40216.11)1)](5(5.04[5

)1)(5,1()1()2()1(8.0 =-+=

+=

efyy

t ytrue yEuler (%)01234

2.000006.19463

14.8439233.6771775.33896

2.000005.0000011.4021625.5132156.84931

19.2823.1924.2424.54

te

Page 8: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

8

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.1 (Euler법) (4/4)

정해와 Euler법을 사용한 수치 해의 비교(y' = 4e0.8t – 0.5y의 초기조건은 y(0) = 2이고,t = 0에서 4까지 간격 크기를 1로 놓음)

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

여기서 h = ti+1 – ti

= 나머지 항

20.2 Euler법 (2/8)

Euler법에 대한 오차해석� 절단오차

- y의 값을 근사적으로 구하는 기법에서 자연스럽게 발생

- 전체 절단오차=국부 절단오차(한 단계에 대해)+전파 절단오차(모든 단계에 대해)

‚ 반올림오차- 계산기의 사용에서 유한 자리의 유효숫자를 취함으로써 발생

Euler법은 점 (ti, yi)부근에서의 Taylor 급수 전개

nn

nii

iii Rhny

hy

hyyy +++¢¢

+¢+=+ !!2

)(2

1 L

1)1(

)!1()( +

+

+x

= nn

n hnyR

Page 9: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

9

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.2 Euler법 (3/8)

또 다른 형태로는

Euler법에서는

: 국부 절단오차의 정확한 표현

충분히 작은 h에 대해서

또는

: 국부 절단오차의 근사적 표현

)(!

),(!2

),(),( 1

)1(2

1+

-

+ +++¢

++= nniin

iiiiii hOh

nytf

hytf

hytfyy L

hytfyy iiii ),(1 +=+

)(!2

),( 12 +++¢

= niit hOh

ytfE L

2

!2),(h

ytfE iia

¢= )( 2hOEa =

여기서 O(hn+1) = 국부 절단오차 µ 간격 크기의 (n+1)거듭제곱

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.2 Euler법 (4/8)

전체오차는 O(h)로 간격 크기에 비례한다는 것을

증명할 수도 있다.

� 전체오차는 h를 작게 하면 줄어든다.

‚ 미분방정식이 해가 선형인 경우는 정해를 산출한다.

® Euler법은 1차 방법

Page 10: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

10

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.2 Euler법 (5/8)

Euler법의 안정성

절단오차는 간격의 크기에 의존하며, 이는 Taylor 급수에 기초하여 예측할 수 있음 → 정확도

오차가 기하급수적으로 증가하면 수치해는 불안정함

안정성 : 미분방정식, 수치기법과 간격 크기에 의존

- 확대인자 : g = 1-ah

- 만약 |g|>1 (즉 만약 h > 2/a), 해는 무한대로 커진다

- Euler법은 조건부로 안정함(conditionally stable)

-0 0 (0) atdy ay with y y y y e

dt= - = Þ =

1 1 (1 )ii i i i

dyy y h y y ahdt+ += + Þ = -Euler 법 :

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.2 Euler법 (6/8)

수치기법에 무관하게 오차가 항상 증가하는 상미분방정식:

- 불량조건(ill-conditioned)

부정확성과 안정성은 별개의 특성이다.

- 부정확한 방법도 안정성 있는 방법일 수 있다.

Page 11: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

11

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.3 Euler법의 개선 (1/8)

Euler법에서 발생하는 오차의 근본적인 출처

- 시작점에서의 도함수를 간격 전체에 적용

Heun법

간격 전체 기울기의 추정값을 개선하는 방법

- 간격의 두 끝점, 즉 시작점과 끝점에서의 도함수를 이용

예측자-수정자 방법이라고도 함

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.3 Euler법의 개선 (2/8)

Heun법의 그래픽 표현. (a) 예측자와 (b) 수정자

Page 12: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

12

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.3 Euler법의 개선 (3/8)

간격의 시작점에서의 기울기:

선형적으로 외삽:

® 표준 Euler법에서의 해

® Heun법에서는 중간 예측 결과

의 계산을 위한 예측자 방정식

간격 전체의 평균 기울기:

®

: 수정자 방정식

),( iii ytfy =¢

hytfyy iiii ),(01 +=+

),( 0111 +++ =¢ iii ytfy

2),(),( 0

11 +++=¢ iiii ytfytf

y hytfytf

yy iiiiii 2

),(),( 011

1++

+

++=

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.3 Euler법의 개선 (4/8)

Heun법을 간략하게 정리하면

예측자

수정자

수정자의 수렴에 대한 종료 판정:

hytfyy iimii ),(0

1 +=+

),,2,1 ( 2

),(),( 111

1 mjhytfytfyyjii

miim

iji K=

++=

-++

+

%1001

111 ´

-=e

+

-++

ji

ji

ji

a yyy

개선된 결과를 얻기 위한 Heun법 수정자의 그래픽 표현

Page 13: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

13

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.2 (Heun법) (1/4)

Q. 반복적인 Heun법을 이용하여 y' = 4e0.8t – 0.5y 를

t = 0 에서 4까지 간격 크기를 1로 놓고 적분하라.

초기 조건은 t = 0 에서 y = 2이다.

수정자의 반복을 끝내기 위한 수렴기준을 0.00001%로

잡아라.

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.2 (Heun법) (2/4)

풀이)

� (t0, y0):

예측자: ® 19.28%의 백분율 상대오차 (Euler법)

수정자: ®-8.18%의 백분율 상대오차

추정 오차:

3)2(5.04 00 =-=¢ ey

5)1(3201 =+=y

402164.6)5(5.04),( )1(8.00111 =-==¢ eyxfy

701082.42402164.63

=+

=¢y

701082.6)1(701082.4211 =+=y

%39.25%100701082.6

5701082.6=´

-=e a

Page 14: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

14

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.2 (Heun법) (3/4)

‚ 수정자:

추정 오차:

ƒ 수정자:

추정 오차:

275811.612

)701082.6(5.0432)1(8.0

21 =

-++=

ey

%776.6%100275811.6

701082.6275811.6=´

-=e a

0.8(1)31

3 4 0.5(6.275811)2 1 6.3821292

ey + -= + =

%666.1%100382129.6

275811.6382129.6=´

-=ae

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.2 (Heun법) (4/4)

반복없음 반복있음

t ytrue yEuler (%) yHeun (%) yHeun (%)

01234

2.000006.19463

14.8439233.6771775.33896

2.000005.00000

11.4021625.5132156.84931

19.2823.1924.2424.51

2.000006.70108

16.3197837.1992583.33777

8.189.94

10.4610.62

2.000006.36087

15.3022434.7432877.73510

2.683.093.173.18

y' = 4e0.8t – 0.5y의 적분에서 정해와 수치해의 비교. 초기 조건은 t = 0에서

y = 2이고, Euler법과 Heun법에서 간격 크기를 1로 놓고 수치해를 계산하였으며, Heun법에서는 수정자 반복이 없는 경우와 있는 경우를 모두 수행하였음.

te te te

Page 15: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

15

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.3 Euler법의 개선 (5/8)

Heun법의 국부 오차

수정 단계를 거친 결과는

«사다리꼴과 유사!!

상미분방정식:

변수 분리하여 풀면

®

또는

htftf

yy iiii 2

)()( 11

++

++= 2

)()()( bfafabI +-=

)(tfdtdy

=

òò++

=11

)(i

i

i

i

t

t

y

ydttfdy

ò+

+ =-1

1 )(i

i

t

tii dttfyy ò+

+ +=1

1 )(i

i

t

tii dttfyy

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.3 Euler법의 개선 (6/8)

사다리꼴 공식을 적용하면

®

Heun 법은 바로 사다리꼴 공식이기 때문에 국부 절단오차

: 2차 방법

국부 오차 = O(h3) 그리고 전체 오차 = O(h2)

htftf

dttf iit

t

i

i 2)()(

)( 11 ++ +=ò h

tftfyy iiii 2

)()( 11

++

++=

3

12)( hfEt

x¢¢-=

Page 16: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

16

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.3 Euler법의 개선 (7/8)

중점법

중점법의 그래픽 표현. (a) 예측자와 (b) 수정자.

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.3 Euler법의 개선 (8/8)

간격의 중점에서의 y 값을 예측하기 위하여 Euler법을 사용한다.

이렇게 예측한 값으로 중점에서의 기울기를 구한다.

이 평균 기울기를 전체 간격에 적용하면

중점법은 Newton-Cotes 개구간 적분공식과 연관이 있다.

®

따라서

®

2),(2/1hytfyy iiii +=+

),( 2/12/12/1 +++ =¢ iii ytfy

hytfyy iiii ),( 2/12/11 +++ +=

)()()( 1xfabdxxfb

a-@ò )()( 2/1

1

+@ò+

i

t

tthfdttfi

i

ò+

+ +=1

1 )(i

i

t

tii dttfyyhytfyy iiii ),( 2/12/11 +++ +=

Page 17: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

17

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.4 Runge-Kutta법 (1/14)

고차 도함수를 구하지 않고도 Taylor 급수 방법이가지는 정확도를 가짐

일반적인 형식:

1차 RK법: n = 1인 경우 Þ Euler법

여기서:증분함수(간격 전체를 대표하는 기울기)

a's = 상수

: 순환적 관계

p's, q's = 상수

hyy ii f+=+1

nnkakaka +++=f L2211

),(

),(),(

),(

11,122,111,11

22212123

11112

1

hkqhkqhkqyhptfk

hkqhkqyhptfkhkqyhptfk

ytfk

nnnnninin

ii

ii

ii

------ +++++=

+++=++=

=

M

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

여기서

20.4 Runge-Kutta법 (2/14)

2차 Runge-Kutta법

2차 표현은 다음과 같다.

상수 a1, a2, p1 그리고 q11를 결정하기 위하여 2차

Taylor 급수와 같다고 놓는다.

따라서 는

와 같아야 한다.

hkakayy ii )( 22111 ++=+),(1 ii ytfk =

),( 11112 hkqyhptfk ii ++=

21 !2

),(),( h

ytfhytfyy ii

iiii¢

++=+

!2),(

2

1h

dtdy

yf

tfhytfyy iiii ÷÷

ø

öççè

涶

+¶¶

++=+

hkakayy ii )( 22111 ++=+

여기서 dtdy

yytf

tytfytf ii ¶

¶+

¶¶

=¢ ),(),(),(

Page 18: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

18

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.4 Runge-Kutta법 (3/14)

2변수 함수의 Taylor 급수 전개는

k2는 다음에서 유도하면

따라서

정리하면

L+¶¶

+¶¶

+=++ygs

tgrytgsyrtg ),(),(

)(),(),( 211111111 hO

yfhkq

tfhpytfhkqyhptf iiii +

¶¶

+¶¶

+=++

)(),(),(),( 32112

212211 hO

yfytfhqa

tfhpaythfaythfayy iiiiiiii +

¶¶

+¶¶

+++=+

[ ] )(),(),(),( 3211212211 hOh

yfytfqa

tfpahytfaytfayy iiiiiiii +ú

û

ùêë

鶶

+¶¶

+++=+

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.4 Runge-Kutta법 (4/14)

두 식의 계수를 비교하면

® 4개의 미지 상수에 대한 3개의

방정식 "부정인 경우"

a2의 값을 배정 ® 그리고

2차 RK법은 a2의 배정에 따라 무한히 많은 종류가 있다.

2/12/11

112

12

21

==

=+

qapaaa

21 1 aa -=2

111 21a

qp ==

Page 19: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

19

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.4 Runge-Kutta법 (5/14)

반복이 없는 Heun법(a2 = 1/2)a2 = 1/2 ® a1 = 1/2 그리고 p1 = q11 = 1

Þ Heun법에서 수정자의 반복이 없는 경우에 해당

중점법a2 = 1 ® a1 = 0 그리고 p1 = q11 = 1/2

hkkyy ii ÷øö

çèæ ++=+ 211 2

121 여기서 ),(1 ii ytfk =

),( 12 hkyhtfk ii ++=

hkyy ii 21 +=+ 여기서

:간격의 시작에서의 기울기

:간격의 끝에서의 기울기

),(1 ii ytfk =

)2/,2/( 12 hkyhtfk ii ++=

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.4 Runge-Kutta법 (6/14)

Ralston법2차 RK 알고리즘에서 절단오차가 최소인 경우

a2 = 2/3 ® a1 = 1/3 그리고 p1 = q11 = 3/4

hkkyy ii ÷øö

çèæ ++=+ 211 3

231

여기서 ),(1 ii ytfk =

÷øö

çèæ ++= hkyhtfk ii 12 4

3,43

Page 20: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

20

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.4 Runge-Kutta법 (7/14)

전형적인 4차 Runge-Kutta법가장 보편적으로 사용되는 4차 RK법

무한히 많은 종류 중에서 가장 흔히 사용되는 방법

Simpson 1/3 공식과 유사함

간격에 대한 평균 기울기를 개선하기 위해 여러 기울기값을 추정® Heun법과 유사

여기서

( )hkkkkyy ii 43211 2261

++++=+

),(1 ii ytfk =

÷øö

çèæ ++= hkyhtfk ii 12 2

1,21

÷øö

çèæ ++= hkyhtfk ii 23 2

1,21

( )hkyhtfk ii 34 , ++=

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.4 Runge-Kutta법 (8/14)

4차 RK법을 구성하는 기울기 추정값의 그래픽 표현.

Page 21: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

21

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.3 (전형적인 4차 RK법) (1/2)

Q. 전형적인 4차 RK법을 이용하여 를

t = 0에서 1까지 간격 크기를 1로 놓고 적분하라. 초기 조건은 y(0) = 2이다.

풀이)

간격의 시작점에서의 기울기

중점에서의 기울기

중점에서의 또 다른 기울기

yey t 5.04 8.0 -=¢

3)2(5.04)2,0( )0(8.01 =-== efk

5.3)5.0(32)5.0( =+=y217299.4)5.3(5.04)5.3,5.0( )5.0(8.0

2 =-== efk

108649.4)5.0(217299.42)5.0( =+=y

912974.3)108649.4(5.04)108649.4,5.0( )5.0(8.03 =-== efk

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.3 (전형적인 4차 RK법) (2/2)

간격의 끝에서의 기울기

평균 기울기

수치 해

정해 6.194631에 비해 et = 0.103%의 오차를 갖는

비교적 좋은 해를 산출하였다.

912974.5)0.1(912974.32)0.1( =+=y0.8(0.5)

4 (1.0, 5.912974) 4 0.5 (5.912974) 5.945677k f e= = - =

[ ] 201037.4945677.5)912974.3(2)217299.4(2361

=+++=f

(1.0) 2 4.201037 (1.0) 6.201037y = + =

Page 22: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

22

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.5 연립방정식 (1/10)

실제 공학에서는 여러 상미분방정식을 동시에 풀어야 한다.

( n 개의 초기 조건이 필요)

번지점프를 하는 사람의 속도와 위치를 결정하는 문제를

다루어 보자.

초기 조건: x(0) = v(0) = 0

),,,,(

),,,,(

),,,,(

21

2122

2111

nnn

n

n

yyytfdtdy

yyytfdtdy

yyytfdtdy

K

M

K

K

=

=

=

vdtdx

=

2vmc

gdtdv d-=

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.4 (Euler법을 이용한 연립 ODE 풀이) (1/3)

Q. 자유낙하 할 때의 속도와 위치를 Euler법으로 풀어라. 초기 조건을 t = 0일 때, x = v = 0로 가정하고, 간격 크기를 2s로 하여 t = 10s까지 적분을 수행하라. 예제 1.1에서와 같이 중력가속도는 9.81 m/s2, 사람의질량은 68.1 kg, 항력계수는 0.25 kg/m로 놓는다.

속도에 대한 해석 해는 다음과 같다.

위치에 대한 해석 해는 다음과 같다.

해석 해를 이용하여 수치 해의 상대오차를 계산하라.

÷÷ø

öççè

æ= t

mgc

cgmtv d

d

tanh)(

úúû

ù

êêë

é

÷÷ø

öççè

æ= t

mgc

cmtx d

d

coshln)(

Page 23: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

23

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.4 (Euler법을 이용한 연립 ODE 풀이) (2/3)

풀이)

t = 0에서의 기울기:

Euler법 ( t = 2 s) 해석 해 백분율 상대 오차

x(2) = 19.16629 100%

v(2) = 18.72919 4.756%

Euler법 ( t = 4 s)

0=dtdx

81.9)0(1.68

25.081.9 2 =-=dtdv

0)2(00 =+=x62.19)2(81.90 =+=v

24.39)2(62.190 =+=x

20.2519.62 9.81 (19.62) (2)68.1

36.41368

v æ ö= + -ç ÷è ø

=

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.4 (Euler법을 이용한 연립 ODE 풀이) (3/3)

간격 크기가 커서 결과가 정확하지 않다.

두 번째 반복을 수행하기까지 xEuler는 0으로 계산된다.

간격 크기를 줄이면 결과를 개선시킬 수 있다.

고차 방법을 사용하면 상대적으로 큰 간격에 대해서도 좋은 결과를얻을 수 있다.

t xtrue vtrue xEuler vEuler et(x) et(v)

02468

10

019.166371.9304

147.9462237.5104334.1782

018.729233.111842.076246.957549.4214

00

39.2400112.0674204.6640305.0244

019.620036.413746.298350.180251.3123

100.0045.4524.2513.83

8.72

4.769.97

10.036.863.83

Page 24: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

24

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

20.5 연립방정식 (2/10)

Runge-Kutta 법

� 고차 RK법은 연립방정식의 해를 구하는데 적용할 수 있다.

‚ 기울기를 구하는데 주의해야 한다.

ƒ 간격의 시작점에서 모든 변수에 대해 기울기( k1's )를 결정한다.

„ ƒ의 결과를 이용하여 간격의 중점에서의 기울기( k2's )를

예측한다.

… 중점에서의 새로운 기울기(k3's)를 예측한다.

† 간격의 끝점에서의 기울기(k4's)를 예측한다.

‡ 모든 k가 증분함수에서 합성되어 간격 끝에서의 함수 값이

결정된다.

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.4 (4차 RK법을 이용한 연립 상미분방정식의 풀이) (1/4)

Q. 예제 20.4에서 다루었던 문제의 해를 4차 RK법으로 구하라.

풀이)상미분방정식을 다음과 같이 표시한다.

� 간격의 시작점에서 x와 v에 대한 기울기를 계산한다.

vvxtfdtdx

== ),,(1

22 ),,( v

mc

gvxtfdtdv d-==

0)0,0,0(11,1 == fk

81.9)0(1.68

25.081.9)0,0,0( 222,1 =-== fk

여기서 ki,j는 j번째 종속변수의 i번째 k값이다.

Page 25: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

25

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.4 (4차 RK법을 이용한 연립 상미분방정식의 풀이) (2/4)

‚ 간격의 중점에서 x와 v의 첫 번째 값을 구한다.

ƒ 간격의 중점에서 x와 v에 대한 기울기를 계산한다.

„ 간격의 중점에서 x와 v의 두 번째 값을 구한다.

02200

2)0()1( 1,1 =+=+=

hkxx

81.92281.90

2)0()1( 2,1 =+=+=

hkvv

8100.9)81.9,0,1(11,2 == fk

4567.9)81.9,0,1(22,2 == fk

8100.9228100.90

2)0()1( 1,2 =+=+=

hkxx

4567.9224567.90

2)0()1( 2,2 =+=+=

hkvv

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.4 (4차 RK법을 이용한 연립 상미분방정식의 풀이) (3/4)

… 간격의 중점에서 x와 v에 대한 기울기를 다시 계산한다.

† 간격의 끝점에서 x와 v의 값을 구한다.

‡ 간격의 끝점에서 x와 v의 기울기를 계산한다.

4567.9)4567.9,8100.9,1(11,3 == fk

4817.9)4567.9,8100.9,1(22,3 == fk

9134.18)2(4567.90)0()2( 1,3 =+=+= hkxx

9634.18)2(4817.90)0()2( 2,3 =+=+= hkvv

9634.18)9634.18,9134.18,2(11,4 == fk

4898.8)9634.18,9134.18,2(22,4 == fk

Page 26: 파트6 상미분방정식 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap20.pdf · 2017-11-30 1 파트6 상미분방정식 6.1 개요 6.2 파트의구성 Applied

2017-11-30

26

Applied Numerical Methods 20장 상미분방정식: 초기값 문제

예제 20.4 (4차 RK법을 이용한 연립 상미분방정식의 풀이) (4/4)

ˆ 위에서 구한 k를 합하여 최종적으로 x와 v의 값을 구한다.

Euler법으로 얻은 결과와는 대조적으로 4차 RK법으로 구한

예측한 값은 정해에 매우 가깝다.

1656.192]9634.18)4567.98100.9(20[610)2( =++++=x

7256.182]4898.8)4817.94567.9(28100.9[610)2( =++++=v

t xtrue vtrue xRK4 vRK4 et(x) et(v)

02468

10

019.166371.9304

147.9642237.5104334.1782

018.729233.111842.076246.957549.4214

019.165671.9311

147.9521237.5104334.1626

018.725633.099542.054746.934549.4207

0.0040.0010.0040.0000.005

0.0190.0370.0510.0490.038