상미분방정식
초기치 문제 (initial value problem)
1. 상미분방정식이란 ?
2. Euler 법에 의한 미분방정식 해
3. Matlab 응용 (ode15s)
상미방이란 ?
A
A
kC
dt
dC
CA0 CB0
CA CB CC
A+B C
상미방의 해
A kCA
dt
dC
t C
C A
A A
A
C kt dC C kdt dC
A
A0 0
kt A
A A
A
t C
C A
A
e C
C C kt
C C kt
A dC
A
0 0
0
ln
0
초기농도 , CA0=? ( 실험에서 계획되는 값 )
반응속도상수 , k=? ( 실험을 통하여 알아내야하는 값 )
IVP (initial value problems):
초기값이 주어져야 이 미방의 해가 존재하며 , 초기값에 의해서 나중값이 결정됨 .
변수분리법
Matlab plot
C
A0=2mol/l, k=0.5/min C
A C
A0 e
kt수치적 미방의 해
( 다음 시간대의 농도값 ) =
( 현재의 농도값 )-( 시간차 )*k*( 농도 ) : Euler method
) ( )
( )
(
) ) (
( )
(
) ( )
(
0 0
0
0 0
0
0 0
t C k t t
C t
t C
t C t k
t C t
t C
t C t
t C C
where
C t k
C
A A
A
A A
A
A A
A A A
A
kC
Adt
dC
농도 , CA
시간 ,t
t CA0
CA1 CA2
MS Exel 응용
) ( )
( )
(t0 t C t0 t k C t0 CA A A
CA0=2mol/l, k=0.5/min 0t10min, t=0.1min
kt A
A
C e
C
0
A
kC
Adt
dC
문제 :
1. Ms exel 을 이용하여 , 주어진 시간동안 , A 성분의 농도 그래프를 그려보시 오 .
2. 해석해에 의한 정확한 값과 Euler 법에 의한 수치해를 모두 구한 후 , 두값 모 두 그래프에 표시하시오 .
3. 또한 해석해와 수치해사이의 오차를 계산하여 시간에 따른 오차를 그래프로 그리시오 .
4. 오차의 합 , 평균 , 표준편차는 얼마인가 ?
엑셀 응용
엑셀 응용
정확한 해와 수치해의 비교
정확한 해와 수치해의 오차분포
오차합 : 0.97
오차평균 : 0.0097 오차표준편차 : 0.0059
Matlab 응용
ODE15s in Matalb help
출력변수
( 상미방식 , 적분시간 , 초기입력변수
치 )
함수이름 (ode15s)
ode15s 응용 1
CA0=2mol/l, k=0.5/min 0t10min, t=0.1min
A
kC
Adt
dC
y0) tspan,
efunc1, ode15s(@od
= Y]
[T,
function dy=odefunc1(t, y) dy=-k*y;
tspan = [0 10];
y0=2;
0 1 2 3 4 5 6 7 8 9 10 0
0.5 1 1.5 2 2.5x 10-3
ode15s 응용 1
0 1 2 3 4 5 6 7 8 9 10
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
정확한 해와 수치해의 비교
정확한 해와 수치해의 오차분포
Euler method 오차합 : 0.97
오차평균 : 0.0097 오차표준편차 : 0.0059
ode15s method 오차합 : 0.0183 오차평균 : 0.00068
오차표준편차 : 0.00069
Using ode15s for ex. 1
ode15s 응용 2
문제 2. 다음 미분연립방정식의 해를 구하시오 .
0 ) 0 ( ,
) 1
( 1000
2 ) 0 ( ,
2 1
2 2 1 2
1 1 2
y y
y dt y
dy
y dt y
dy
계산순서
• 미분방정식을 정의하는 함수 , odefunc2(t,y), 정의
• Timespan = [0 3000]
• 초기값 , y0=[2 0]
• Plot results: plot(time, y1) and plot(time, y2)
plot(t, y1, ‘or’)
0 500 1000 1500 2000 2500 3000
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
plot(t, y2, ‘sb’)
0 500 1000 1500 2000 2500 3000
-1500 -1000 -500 0 500 1000 1500