공학도라면 피해갈 수 없는 과목이 바로 공업수학 입니다. 특히 상미분방정식(ODE, Ordinary Differential Equation)은 전자회로 분석, 제어 시스템 설계, 기계 진동 해석 등 거의 모든 공학 분야의 수학적 기반이 됩니다. 이 글에서는 ODE의 기초 개념부터 라플라스 변환까지, 공학 응용 예제를 중심으로 체계적으로 설명합니다.
미분방정식 은 미지함수와 그 도함수들 사이의 관계를 나타내는 방정식입니다. 예를 들어:
d y d x = 2 x , y ′ ′ + 3 y ′ + 2 y = 0 , ∂ u ∂ t = k ∂ 2 u ∂ x 2 \frac{dy}{dx} = 2x, \quad y'' + 3y' + 2y = 0, \quad \frac{\partial u}{\partial t} = k\frac{\partial^2 u}{\partial x^2} d x d y = 2 x , y ′′ + 3 y ′ + 2 y = 0 , ∂ t ∂ u = k ∂ x 2 ∂ 2 u
이처럼 미분방정식은 자연 현상과 공학 시스템을 수학적으로 모델링하는 핵심 도구입니다.
상미분방정식(ODE) : 하나의 독립변수에 대한 도함수만 포함합니다.
d 2 x d t 2 + 2 d x d t + x = 0 \frac{d^2x}{dt^2} + 2\frac{dx}{dt} + x = 0 d t 2 d 2 x + 2 d t d x + x = 0
편미분방정식(PDE) : 두 개 이상의 독립변수에 대한 편미분을 포함합니다.
∂ u ∂ t = c 2 ∂ 2 u ∂ x 2 \frac{\partial u}{\partial t} = c^2\frac{\partial^2 u}{\partial x^2} ∂ t ∂ u = c 2 ∂ x 2 ∂ 2 u
이번 글에서는 ODE에 집중합니다.
차수 는 방정식에 등장하는 가장 높은 도함수의 차수입니다.
1차 ODE: y ′ + y = x y' + y = x y ′ + y = x (최고 도함수가 y ′ y' y ′ )
2차 ODE: y ′ ′ + 2 y ′ + y = 0 y'' + 2y' + y = 0 y ′′ + 2 y ′ + y = 0 (최고 도함수가 y ′ ′ y'' y ′′ )
**급(degree)**은 최고 차수 도함수의 지수입니다. 대부분의 공학 문제에서 급은 1입니다.
선형 ODE : 미지함수와 그 도함수가 1차 항으로만 나타납니다.
a n ( x ) y ( n ) + a n − 1 ( x ) y ( n − 1 ) + ⋯ + a 1 ( x ) y ′ + a 0 ( x ) y = f ( x ) a_n(x)y^{(n)} + a_{n-1}(x)y^{(n-1)} + \cdots + a_1(x)y' + a_0(x)y = f(x) a n ( x ) y ( n ) + a n − 1 ( x ) y ( n − 1 ) + ⋯ + a 1 ( x ) y ′ + a 0 ( x ) y = f ( x )
비선형 ODE : y 2 y^2 y 2 , y ⋅ y ′ y \cdot y' y ⋅ y ′ , sin ( y ) \sin(y) sin ( y ) 등 비선형 항이 포함됩니다.
y ′ ′ + sin ( y ) = 0 (진자 방정식) y'' + \sin(y) = 0 \quad \text{(진자 방정식)} y ′′ + sin ( y ) = 0 ( 진자 방정식 )
일반해 : 임의의 상수를 포함하는 완전한 해
특수해 : 초기조건을 적용하여 상수를 결정한 해
특이해 : 일반해로부터 얻을 수 없는 특별한 해
공학 시스템은 대부분 ODE로 기술됩니다.
RC 충전 회로 :
R C d v d t + v = V s RC\frac{dv}{dt} + v = V_s R C d t d v + v = V s
스프링-질량-감쇠기 시스템 :
m x ¨ + c x ˙ + k x = F ( t ) m\ddot{x} + c\dot{x} + kx = F(t) m x ¨ + c x ˙ + k x = F ( t )
인구 성장 모델 :
d P d t = k P \frac{dP}{dt} = kP d t d P = k P
RL 회로 :
L d i d t + R i = E ( t ) L\frac{di}{dt} + Ri = E(t) L d t d i + R i = E ( t )
이 모든 방정식이 ODE이며, 풀이 방법을 배우면 공학 시스템의 동적 거동을 완전히 분석할 수 있습니다.
형태 : d y d x = f ( x ) g ( y ) \frac{dy}{dx} = f(x)g(y) d x d y = f ( x ) g ( y )
풀이 과정 :
d y g ( y ) = f ( x ) d x \frac{dy}{g(y)} = f(x)dx g ( y ) d y = f ( x ) d x
양변을 적분합니다:
∫ d y g ( y ) = ∫ f ( x ) d x + C \int \frac{dy}{g(y)} = \int f(x)dx + C ∫ g ( y ) d y = ∫ f ( x ) d x + C
예제: RC 충전 회로
회로 방정식:
d v d t = V s − v R C \frac{dv}{dt} = \frac{V_s - v}{RC} d t d v = R C V s − v
변수분리:
d v V s − v = d t R C \frac{dv}{V_s - v} = \frac{dt}{RC} V s − v d v = R C d t
적분:
− ln ∣ V s − v ∣ = t R C + C 1 -\ln|V_s - v| = \frac{t}{RC} + C_1 − ln ∣ V s − v ∣ = R C t + C 1
초기조건 v ( 0 ) = 0 v(0) = 0 v ( 0 ) = 0 적용:
V s − v = V s e − t / ( R C ) V_s - v = V_s e^{-t/(RC)} V s − v = V s e − t / ( R C )
v ( t ) = V s ( 1 − e − t / ( R C ) ) \boxed{v(t) = V_s\left(1 - e^{-t/(RC)}\right)} v ( t ) = V s ( 1 − e − t / ( R C ) )
이 결과는 RC 회로의 **과도 응답(transient response)**을 나타냅니다. 시정수 τ = R C \tau = RC τ = R C 로 결정되는 속도로 전압이 V s V_s V s 로 수렴합니다.
물리적 의미 :
t = τ t = \tau t = τ 일 때: v ≈ 0.632 V s v \approx 0.632 V_s v ≈ 0.632 V s (63.2% 충전)
t = 5 τ t = 5\tau t = 5 τ 일 때: v ≈ 0.993 V s v \approx 0.993 V_s v ≈ 0.993 V s (거의 완전 충전)
선형 1차 ODE의 표준형 :
d y d x + P ( x ) y = Q ( x ) \frac{dy}{dx} + P(x)y = Q(x) d x d y + P ( x ) y = Q ( x )
적분인자 : μ ( x ) = e ∫ P ( x ) d x \mu(x) = e^{\int P(x)dx} μ ( x ) = e ∫ P ( x ) d x
유도 과정 :
양변에 μ ( x ) \mu(x) μ ( x ) 를 곱합니다:
μ ( x ) d y d x + μ ( x ) P ( x ) y = μ ( x ) Q ( x ) \mu(x)\frac{dy}{dx} + \mu(x)P(x)y = \mu(x)Q(x) μ ( x ) d x d y + μ ( x ) P ( x ) y = μ ( x ) Q ( x )
좌변은 곱의 미분 규칙에 의해:
d d x [ μ ( x ) y ] = μ ( x ) Q ( x ) \frac{d}{dx}[\mu(x)y] = \mu(x)Q(x) d x d [ μ ( x ) y ] = μ ( x ) Q ( x )
적분하면:
μ ( x ) y = ∫ μ ( x ) Q ( x ) d x + C \mu(x)y = \int \mu(x)Q(x)dx + C μ ( x ) y = ∫ μ ( x ) Q ( x ) d x + C
y = 1 μ ( x ) [ ∫ μ ( x ) Q ( x ) d x + C ] \boxed{y = \frac{1}{\mu(x)}\left[\int \mu(x)Q(x)dx + C\right]} y = μ ( x ) 1 [ ∫ μ ( x ) Q ( x ) d x + C ]
예제: RL 회로
L d i d t + R i = E L\frac{di}{dt} + Ri = E L d t d i + R i = E
표준형으로 변환:
d i d t + R L i = E L \frac{di}{dt} + \frac{R}{L}i = \frac{E}{L} d t d i + L R i = L E
적분인자: μ ( t ) = e ( R / L ) t \mu(t) = e^{(R/L)t} μ ( t ) = e ( R / L ) t
d d t [ e ( R / L ) t ⋅ i ] = E L e ( R / L ) t \frac{d}{dt}\left[e^{(R/L)t} \cdot i\right] = \frac{E}{L}e^{(R/L)t} d t d [ e ( R / L ) t ⋅ i ] = L E e ( R / L ) t
적분:
e ( R / L ) t ⋅ i = E R e ( R / L ) t + C e^{(R/L)t} \cdot i = \frac{E}{R}e^{(R/L)t} + C e ( R / L ) t ⋅ i = R E e ( R / L ) t + C
초기조건 i ( 0 ) = 0 i(0) = 0 i ( 0 ) = 0 적용:
i ( t ) = E R ( 1 − e − ( R / L ) t ) \boxed{i(t) = \frac{E}{R}\left(1 - e^{-(R/L)t}\right)} i ( t ) = R E ( 1 − e − ( R / L ) t )
시정수 τ = L / R \tau = L/R τ = L / R 로 전류가 정상 상태 E / R E/R E / R 에 수렴합니다.
형태 : M ( x , y ) d x + N ( x , y ) d y = 0 M(x,y)dx + N(x,y)dy = 0 M ( x , y ) d x + N ( x , y ) d y = 0
완전 조건 :
∂ M ∂ y = ∂ N ∂ x \frac{\partial M}{\partial y} = \frac{\partial N}{\partial x} ∂ y ∂ M = ∂ x ∂ N
이 조건을 만족하면 F ( x , y ) = C F(x,y) = C F ( x , y ) = C 인 퍼텐셜 함수 F F F 가 존재합니다.
풀이법 :
∂ F ∂ x = M \frac{\partial F}{\partial x} = M ∂ x ∂ F = M 에서 F F F 를 x x x 에 대해 적분
∂ F ∂ y = N \frac{\partial F}{\partial y} = N ∂ y ∂ F = N 조건으로 적분 상수 결정
일반해: F ( x , y ) = C F(x,y) = C F ( x , y ) = C
예제 :
( 2 x y + y 2 ) d x + ( x 2 + 2 x y ) d y = 0 (2xy + y^2)dx + (x^2 + 2xy)dy = 0 ( 2 x y + y 2 ) d x + ( x 2 + 2 x y ) d y = 0
완전 여부 확인:
∂ M ∂ y = 2 x + 2 y = ∂ N ∂ x \frac{\partial M}{\partial y} = 2x + 2y = \frac{\partial N}{\partial x} ∂ y ∂ M = 2 x + 2 y = ∂ x ∂ N
완전 방정식이므로:
F = ∫ M d x = ∫ ( 2 x y + y 2 ) d x = x 2 y + x y 2 + g ( y ) F = \int M\,dx = \int (2xy + y^2)dx = x^2y + xy^2 + g(y) F = ∫ M d x = ∫ ( 2 x y + y 2 ) d x = x 2 y + x y 2 + g ( y )
∂ F ∂ y = x 2 + 2 x y + g ′ ( y ) = N = x 2 + 2 x y \frac{\partial F}{\partial y} = x^2 + 2xy + g'(y) = N = x^2 + 2xy ∂ y ∂ F = x 2 + 2 x y + g ′ ( y ) = N = x 2 + 2 x y 이므로 g ′ ( y ) = 0 g'(y) = 0 g ′ ( y ) = 0 , g ( y ) = C g(y) = C g ( y ) = C
일반해: x 2 y + x y 2 = C x^2y + xy^2 = C x 2 y + x y 2 = C
형태 :
d y d x + P ( x ) y = Q ( x ) y n ( n ≠ 0 , 1 ) \frac{dy}{dx} + P(x)y = Q(x)y^n \quad (n \neq 0, 1) d x d y + P ( x ) y = Q ( x ) y n ( n = 0 , 1 )
치환 : v = y 1 − n v = y^{1-n} v = y 1 − n 으로 놓으면 선형 ODE로 변환됩니다.
v ′ = ( 1 − n ) y − n y ′ v' = (1-n)y^{-n}y' v ′ = ( 1 − n ) y − n y ′ 이므로 원래 방정식을 y n y^n y n 으로 나누면:
y − n d y d x + P ( x ) y 1 − n = Q ( x ) y^{-n}\frac{dy}{dx} + P(x)y^{1-n} = Q(x) y − n d x d y + P ( x ) y 1 − n = Q ( x )
1 1 − n d v d x + P ( x ) v = Q ( x ) \frac{1}{1-n}\frac{dv}{dx} + P(x)v = Q(x) 1 − n 1 d x d v + P ( x ) v = Q ( x )
d v d x + ( 1 − n ) P ( x ) v = ( 1 − n ) Q ( x ) \frac{dv}{dx} + (1-n)P(x)v = (1-n)Q(x) d x d v + ( 1 − n ) P ( x ) v = ( 1 − n ) Q ( x )
이는 v v v 에 대한 선형 1차 ODE로, 적분인자법으로 풀 수 있습니다.
응용 : 물류 성장 모델 d P d t = r P ( 1 − P K ) \frac{dP}{dt} = rP\left(1 - \frac{P}{K}\right) d t d P = r P ( 1 − K P ) 는 n = 2 n=2 n = 2 인 베르누이 방정식입니다.
표준형 :
a y ′ ′ + b y ′ + c y = 0 ay'' + by' + cy = 0 a y ′′ + b y ′ + cy = 0
특성방정식 유도: y = e r x y = e^{rx} y = e r x 를 대입합니다.
a r 2 e r x + b r e r x + c e r x = 0 a r^2 e^{rx} + b r e^{rx} + c e^{rx} = 0 a r 2 e r x + b r e r x + c e r x = 0
a r 2 + b r + c = 0 \boxed{ar^2 + br + c = 0} a r 2 + b r + c = 0
판별식 Δ = b 2 − 4 a c \Delta = b^2 - 4ac Δ = b 2 − 4 a c 의 부호에 따라 세 가지 경우가 생깁니다.
경우 1: 서로 다른 두 실근 (Δ > 0 \Delta > 0 Δ > 0 )
r 1 ≠ r 2 r_1 \neq r_2 r 1 = r 2 이면:
y = C 1 e r 1 x + C 2 e r 2 x y = C_1 e^{r_1 x} + C_2 e^{r_2 x} y = C 1 e r 1 x + C 2 e r 2 x
경우 2: 중복 실근 (Δ = 0 \Delta = 0 Δ = 0 )
r 1 = r 2 = r = − b / ( 2 a ) r_1 = r_2 = r = -b/(2a) r 1 = r 2 = r = − b / ( 2 a ) 이면:
y = ( C 1 + C 2 x ) e r x y = (C_1 + C_2 x)e^{rx} y = ( C 1 + C 2 x ) e r x
C 2 x e r x C_2 x e^{rx} C 2 x e r x 를 추가해야 하는 이유는 **론스키안(Wronskian)**이 0이 되지 않도록 독립적인 두 번째 해를 구성해야 하기 때문입니다.
경우 3: 켤레 복소근 (Δ < 0 \Delta < 0 Δ < 0 )
r = α ± i β r = \alpha \pm i\beta r = α ± i β (단, α = − b / ( 2 a ) \alpha = -b/(2a) α = − b / ( 2 a ) , β = 4 a c − b 2 / ( 2 a ) \beta = \sqrt{4ac - b^2}/(2a) β = 4 a c − b 2 / ( 2 a ) )이면:
y = e α x ( C 1 cos β x + C 2 sin β x ) y = e^{\alpha x}(C_1\cos\beta x + C_2\sin\beta x) y = e α x ( C 1 cos β x + C 2 sin β x )
오일러 공식 e i β x = cos β x + i sin β x e^{i\beta x} = \cos\beta x + i\sin\beta x e i β x = cos β x + i sin β x 를 이용해 실수해로 변환한 형태입니다.
회로 방정식 (전하 q ( t ) q(t) q ( t ) 기준):
L d 2 q d t 2 + R d q d t + q C = 0 L\frac{d^2q}{dt^2} + R\frac{dq}{dt} + \frac{q}{C} = 0 L d t 2 d 2 q + R d t d q + C q = 0
표준형으로 정리:
q ′ ′ + R L q ′ + 1 L C q = 0 q'' + \frac{R}{L}q' + \frac{1}{LC}q = 0 q ′′ + L R q ′ + L C 1 q = 0
특성방정식 :
r 2 + R L r + 1 L C = 0 r^2 + \frac{R}{L}r + \frac{1}{LC} = 0 r 2 + L R r + L C 1 = 0
r = − R 2 L ± ( R 2 L ) 2 − 1 L C r = -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2 - \frac{1}{LC}} r = − 2 L R ± ( 2 L R ) 2 − L C 1
감쇠 계수 α = R / ( 2 L ) \alpha = R/(2L) α = R / ( 2 L ) , 공진 주파수 ω 0 = 1 / L C \omega_0 = 1/\sqrt{LC} ω 0 = 1/ L C 로 정의하면:
r = − α ± α 2 − ω 0 2 r = -\alpha \pm \sqrt{\alpha^2 - \omega_0^2} r = − α ± α 2 − ω 0 2
과감쇠 (Overdamped) : α > ω 0 \alpha > \omega_0 α > ω 0 (R > 2 L / C R > 2\sqrt{L/C} R > 2 L / C )
q ( t ) = C 1 e r 1 t + C 2 e r 2 t ( r 1 , r 2 < 0 ) q(t) = C_1 e^{r_1 t} + C_2 e^{r_2 t} \quad (r_1, r_2 < 0) q ( t ) = C 1 e r 1 t + C 2 e r 2 t ( r 1 , r 2 < 0 )
두 지수항의 합으로, 진동 없이 단조 감소합니다.
임계감쇠 (Critically Damped) : α = ω 0 \alpha = \omega_0 α = ω 0 (R = 2 L / C R = 2\sqrt{L/C} R = 2 L / C )
q ( t ) = ( C 1 + C 2 t ) e − α t q(t) = (C_1 + C_2 t)e^{-\alpha t} q ( t ) = ( C 1 + C 2 t ) e − α t
진동 없이 가장 빠르게 평형 상태로 복귀합니다. 제어 시스템 설계에서 매우 중요합니다.
부족감쇠 (Underdamped) : α < ω 0 \alpha < \omega_0 α < ω 0 (R < 2 L / C R < 2\sqrt{L/C} R < 2 L / C )
감쇠 진동 주파수 ω d = ω 0 2 − α 2 \omega_d = \sqrt{\omega_0^2 - \alpha^2} ω d = ω 0 2 − α 2 로 정의하면:
q ( t ) = e − α t ( C 1 cos ω d t + C 2 sin ω d t ) q(t) = e^{-\alpha t}(C_1\cos\omega_d t + C_2\sin\omega_d t) q ( t ) = e − α t ( C 1 cos ω d t + C 2 sin ω d t )
진동하면서 감쇠합니다. 통신 회로, 진동 시스템에서 흔히 나타납니다.
물리적 의미 요약 :
조건 명칭 응답 특성 R > 2 L / C R > 2\sqrt{L/C} R > 2 L / C 과감쇠 진동 없이 느리게 감쇠 R = 2 L / C R = 2\sqrt{L/C} R = 2 L / C 임계감쇠 진동 없이 가장 빠른 감쇠 R < 2 L / C R < 2\sqrt{L/C} R < 2 L / C 부족감쇠 진동하며 감쇠 R = 0 R = 0 R = 0 무감쇠 지속 진동
형태 :
a y ′ ′ + b y ′ + c y = f ( x ) ay'' + by' + cy = f(x) a y ′′ + b y ′ + cy = f ( x )
완전 해 : y = y h + y p y = y_h + y_p y = y h + y p
y h y_h y h : 제차 방정식의 일반해 (여함수, complementary function)
y p y_p y p : 특수해 (particular solution)
f ( x ) f(x) f ( x ) 의 형태에 따라 y p y_p y p 의 형태를 추측합니다.
f ( x ) f(x) f ( x ) 의 형태y p y_p y p 의 추측 형태k e a x ke^{ax} k e a x A e a x Ae^{ax} A e a x k x n kx^n k x n A n x n + ⋯ + A 1 x + A 0 A_n x^n + \cdots + A_1 x + A_0 A n x n + ⋯ + A 1 x + A 0 k cos ω x k\cos\omega x k cos ω x 또는 k sin ω x k\sin\omega x k sin ω x A cos ω x + B sin ω x A\cos\omega x + B\sin\omega x A cos ω x + B sin ω x k e a x cos ω x ke^{ax}\cos\omega x k e a x cos ω x e a x ( A cos ω x + B sin ω x ) e^{ax}(A\cos\omega x + B\sin\omega x) e a x ( A cos ω x + B sin ω x )
주의 : y p y_p y p 의 형태가 y h y_h y h 의 항과 겹치면 x x x 를 곱해서 수정합니다.
예제 : y ′ ′ + 4 y = 3 cos 2 x y'' + 4y = 3\cos 2x y ′′ + 4 y = 3 cos 2 x
제차해: y h = C 1 cos 2 x + C 2 sin 2 x y_h = C_1\cos 2x + C_2\sin 2x y h = C 1 cos 2 x + C 2 sin 2 x
y p y_p y p 의 추측형이 y h y_h y h 와 겹치므로 수정:
y p = x ( A cos 2 x + B sin 2 x ) y_p = x(A\cos 2x + B\sin 2x) y p = x ( A cos 2 x + B sin 2 x )
대입 후 계산하면: A = 0 A = 0 A = 0 , B = 3 / 4 B = 3/4 B = 3/4
y p = 3 4 x sin 2 x y_p = \frac{3}{4}x\sin 2x y p = 4 3 x sin 2 x
이는 공진(resonance) 현상으로, 진폭이 시간에 비례하여 증가합니다.
강제 진동 응답 :
m x ¨ + c x ˙ + k x = F 0 cos ω t m\ddot{x} + c\dot{x} + kx = F_0\cos\omega t m x ¨ + c x ˙ + k x = F 0 cos ω t
정상 상태 특수해:
x p ( t ) = F 0 / k ( 1 − r 2 ) 2 + ( 2 ζ r ) 2 cos ( ω t − ϕ ) x_p(t) = \frac{F_0/k}{\sqrt{(1-r^2)^2 + (2\zeta r)^2}}\cos(\omega t - \phi) x p ( t ) = ( 1 − r 2 ) 2 + ( 2 ζ r ) 2 F 0 / k cos ( ω t − ϕ )
여기서 진동수비 r = ω / ω n r = \omega/\omega_n r = ω / ω n , 감쇠비 ζ = c / ( 2 m k ) \zeta = c/(2\sqrt{mk}) ζ = c / ( 2 mk ) .
r = 1 r = 1 r = 1 (공진 조건)에서 진폭이 최대가 됩니다.
미결정계수법을 적용할 수 없는 일반적인 f ( x ) f(x) f ( x ) 에 사용합니다.
y h = C 1 y 1 + C 2 y 2 y_h = C_1 y_1 + C_2 y_2 y h = C 1 y 1 + C 2 y 2 가 주어질 때:
y p = − y 1 ∫ y 2 f W d x + y 2 ∫ y 1 f W d x y_p = -y_1 \int \frac{y_2 f}{W}dx + y_2 \int \frac{y_1 f}{W}dx y p = − y 1 ∫ W y 2 f d x + y 2 ∫ W y 1 f d x
론스키안(Wronskian): W = y 1 y 2 ′ − y 1 ′ y 2 W = y_1 y_2' - y_1' y_2 W = y 1 y 2 ′ − y 1 ′ y 2
이 공식은 모든 연속 함수 f ( x ) f(x) f ( x ) 에 대해 적용 가능합니다.
n n n 개의 1차 ODE로 이루어진 연립 방정식:
d X d t = A X \frac{d\mathbf{X}}{dt} = A\mathbf{X} d t d X = A X
여기서 X = [ x 1 , x 2 , … , x n ] T \mathbf{X} = [x_1, x_2, \ldots, x_n]^T X = [ x 1 , x 2 , … , x n ] T , A A A 는 n × n n \times n n × n 계수 행렬.
해의 형태: X = v e λ t \mathbf{X} = \mathbf{v}e^{\lambda t} X = v e λ t
대입하면: λ v = A v \lambda \mathbf{v} = A\mathbf{v} λ v = A v
즉, λ \lambda λ 는 A A A 의 고유값 , v \mathbf{v} v 는 대응하는 고유벡터 입니다.
특성방정식: det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det ( A − λ I ) = 0
예제 : 두 개의 연결된 탱크 시스템
d d t ( x 1 x 2 ) = ( − 2 1 1 − 2 ) ( x 1 x 2 ) \frac{d}{dt}\begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} -2 & 1 \\ 1 & -2 \end{pmatrix}\begin{pmatrix} x_1 \\ x_2 \end{pmatrix} d t d ( x 1 x 2 ) = ( − 2 1 1 − 2 ) ( x 1 x 2 )
특성방정식: ( λ + 2 ) 2 − 1 = 0 (\lambda+2)^2 - 1 = 0 ( λ + 2 ) 2 − 1 = 0
λ 1 = − 1 , λ 2 = − 3 \lambda_1 = -1, \quad \lambda_2 = -3 λ 1 = − 1 , λ 2 = − 3
고유벡터: v 1 = [ 1 , 1 ] T \mathbf{v}_1 = [1, 1]^T v 1 = [ 1 , 1 ] T , v 2 = [ 1 , − 1 ] T \mathbf{v}_2 = [1, -1]^T v 2 = [ 1 , − 1 ] T
일반해:
X = C 1 ( 1 1 ) e − t + C 2 ( 1 − 1 ) e − 3 t \mathbf{X} = C_1 \begin{pmatrix} 1 \\ 1 \end{pmatrix} e^{-t} + C_2 \begin{pmatrix} 1 \\ -1 \end{pmatrix} e^{-3t} X = C 1 ( 1 1 ) e − t + C 2 ( 1 − 1 ) e − 3 t
두 루프가 있는 회로 (키르히호프 전압 법칙):
L 1 d i 1 d t + R 1 i 1 − M d i 2 d t = E 1 ( t ) L_1\frac{di_1}{dt} + R_1 i_1 - M\frac{di_2}{dt} = E_1(t) L 1 d t d i 1 + R 1 i 1 − M d t d i 2 = E 1 ( t )
L 2 d i 2 d t + R 2 i 2 − M d i 1 d t = E 2 ( t ) L_2\frac{di_2}{dt} + R_2 i_2 - M\frac{di_1}{dt} = E_2(t) L 2 d t d i 2 + R 2 i 2 − M d t d i 1 = E 2 ( t )
여기서 M M M 은 상호 인덕턴스. 이를 행렬 형태로 정리하여 고유값법 또는 라플라스 변환으로 풀 수 있습니다.
정의 :
L { f ( t ) } = F ( s ) = ∫ 0 ∞ f ( t ) e − s t d t \mathcal{L}\{f(t)\} = F(s) = \int_0^\infty f(t)e^{-st}dt L { f ( t )} = F ( s ) = ∫ 0 ∞ f ( t ) e − s t d t
s = σ + j ω s = \sigma + j\omega s = σ + j ω 는 복소 변수이며, 적분이 수렴하려면 Re ( s ) > σ c \text{Re}(s) > \sigma_c Re ( s ) > σ c (수렴 좌평면)를 만족해야 합니다.
왜 라플라스 변환을 쓰는가?
미분 연산이 대수 연산으로 변환됩니다
초기조건을 자동으로 처리합니다
복잡한 ODE를 쉬운 대수 방정식으로 풀 수 있습니다
전달 함수(Transfer Function) 개념의 기반입니다
f ( t ) f(t) f ( t ) F ( s ) = L { f ( t ) } F(s) = \mathcal{L}\{f(t)\} F ( s ) = L { f ( t )} 1 1 1 (단위 계단)1 s \dfrac{1}{s} s 1 t t t 1 s 2 \dfrac{1}{s^2} s 2 1 t n t^n t n n ! s n + 1 \dfrac{n!}{s^{n+1}} s n + 1 n ! e a t e^{at} e a t 1 s − a \dfrac{1}{s-a} s − a 1 sin ω t \sin\omega t sin ω t ω s 2 + ω 2 \dfrac{\omega}{s^2+\omega^2} s 2 + ω 2 ω cos ω t \cos\omega t cos ω t s s 2 + ω 2 \dfrac{s}{s^2+\omega^2} s 2 + ω 2 s e a t sin ω t e^{at}\sin\omega t e a t sin ω t ω ( s − a ) 2 + ω 2 \dfrac{\omega}{(s-a)^2+\omega^2} ( s − a ) 2 + ω 2 ω e a t cos ω t e^{at}\cos\omega t e a t cos ω t s − a ( s − a ) 2 + ω 2 \dfrac{s-a}{(s-a)^2+\omega^2} ( s − a ) 2 + ω 2 s − a δ ( t ) \delta(t) δ ( t ) (임펄스)1 1 1 u ( t − a ) u(t-a) u ( t − a ) (지연 계단)e − a s s \dfrac{e^{-as}}{s} s e − a s
유도 예시 : L { e a t } \mathcal{L}\{e^{at}\} L { e a t }
L { e a t } = ∫ 0 ∞ e a t e − s t d t = ∫ 0 ∞ e − ( s − a ) t d t = [ e − ( s − a ) t − ( s − a ) ] 0 ∞ = 1 s − a \mathcal{L}\{e^{at}\} = \int_0^\infty e^{at} e^{-st} dt = \int_0^\infty e^{-(s-a)t} dt = \left[\frac{e^{-(s-a)t}}{-(s-a)}\right]_0^\infty = \frac{1}{s-a} L { e a t } = ∫ 0 ∞ e a t e − s t d t = ∫ 0 ∞ e − ( s − a ) t d t = [ − ( s − a ) e − ( s − a ) t ] 0 ∞ = s − a 1
s > a s > a s > a 일 때 수렴합니다.
선형성 :
L { a f ( t ) + b g ( t ) } = a F ( s ) + b G ( s ) \mathcal{L}\{af(t) + bg(t)\} = aF(s) + bG(s) L { a f ( t ) + b g ( t )} = a F ( s ) + b G ( s )
시간 이동 (제1 이동 정리) :
L { e a t f ( t ) } = F ( s − a ) \mathcal{L}\{e^{at}f(t)\} = F(s-a) L { e a t f ( t )} = F ( s − a )
주파수 이동 (제2 이동 정리) :
L { f ( t − a ) u ( t − a ) } = e − a s F ( s ) \mathcal{L}\{f(t-a)u(t-a)\} = e^{-as}F(s) L { f ( t − a ) u ( t − a )} = e − a s F ( s )
미분 변환 (가장 중요한 성질):
L { f ′ ( t ) } = s F ( s ) − f ( 0 ) \mathcal{L}\{f'(t)\} = sF(s) - f(0) L { f ′ ( t )} = s F ( s ) − f ( 0 )
L { f ′ ′ ( t ) } = s 2 F ( s ) − s f ( 0 ) − f ′ ( 0 ) \mathcal{L}\{f''(t)\} = s^2F(s) - sf(0) - f'(0) L { f ′′ ( t )} = s 2 F ( s ) − s f ( 0 ) − f ′ ( 0 )
L { f ( n ) ( t ) } = s n F ( s ) − s n − 1 f ( 0 ) − s n − 2 f ′ ( 0 ) − ⋯ − f ( n − 1 ) ( 0 ) \mathcal{L}\{f^{(n)}(t)\} = s^nF(s) - s^{n-1}f(0) - s^{n-2}f'(0) - \cdots - f^{(n-1)}(0) L { f ( n ) ( t )} = s n F ( s ) − s n − 1 f ( 0 ) − s n − 2 f ′ ( 0 ) − ⋯ − f ( n − 1 ) ( 0 )
초기조건이 s s s -도메인에서 자동으로 포함됩니다.
적분 변환 :
L { ∫ 0 t f ( τ ) d τ } = F ( s ) s \mathcal{L}\left\{\int_0^t f(\tau)d\tau\right\} = \frac{F(s)}{s} L { ∫ 0 t f ( τ ) d τ } = s F ( s )
합성곱 정리(Convolution Theorem) :
L { ( f ∗ g ) ( t ) } = F ( s ) G ( s ) \mathcal{L}\{(f*g)(t)\} = F(s)G(s) L {( f ∗ g ) ( t )} = F ( s ) G ( s )
여기서 ( f ∗ g ) ( t ) = ∫ 0 t f ( τ ) g ( t − τ ) d τ (f*g)(t) = \int_0^t f(\tau)g(t-\tau)d\tau ( f ∗ g ) ( t ) = ∫ 0 t f ( τ ) g ( t − τ ) d τ
이 정리는 시스템의 임펄스 응답과 입력 신호의 합성곱이 출력임을 수학적으로 증명합니다.
최종값 정리 :
lim t → ∞ f ( t ) = lim s → 0 s F ( s ) \lim_{t\to\infty} f(t) = \lim_{s\to 0} sF(s) lim t → ∞ f ( t ) = lim s → 0 s F ( s )
정상 상태 값을 t t t -도메인 풀이 없이 구할 수 있습니다.
초기값 정리 :
lim t → 0 + f ( t ) = lim s → ∞ s F ( s ) \lim_{t\to 0^+} f(t) = \lim_{s\to\infty} sF(s) lim t → 0 + f ( t ) = lim s → ∞ s F ( s )
부분 분수 분해(Partial Fraction Decomposition) :
F ( s ) = P ( s ) / Q ( s ) F(s) = P(s)/Q(s) F ( s ) = P ( s ) / Q ( s ) 에서 분모를 인수분해하여 표 변환쌍의 합으로 분해합니다.
경우 1: 서로 다른 실수 극점
F ( s ) = N ( s ) ( s − p 1 ) ( s − p 2 ) ⋯ ( s − p n ) = A 1 s − p 1 + A 2 s − p 2 + ⋯ F(s) = \frac{N(s)}{(s-p_1)(s-p_2)\cdots(s-p_n)} = \frac{A_1}{s-p_1} + \frac{A_2}{s-p_2} + \cdots F ( s ) = ( s − p 1 ) ( s − p 2 ) ⋯ ( s − p n ) N ( s ) = s − p 1 A 1 + s − p 2 A 2 + ⋯
A k = lim s → p k ( s − p k ) F ( s ) A_k = \lim_{s\to p_k}(s-p_k)F(s) A k = lim s → p k ( s − p k ) F ( s )
경우 2: 중복 극점 (s = p s = p s = p 가 m m m 중근)
F ( s ) = ⋯ + A m ( s − p ) m + A m − 1 ( s − p ) m − 1 + ⋯ + A 1 s − p F(s) = \cdots + \frac{A_m}{(s-p)^m} + \frac{A_{m-1}}{(s-p)^{m-1}} + \cdots + \frac{A_1}{s-p} F ( s ) = ⋯ + ( s − p ) m A m + ( s − p ) m − 1 A m − 1 + ⋯ + s − p A 1
A k = 1 ( m − k ) ! [ d m − k d s m − k ( s − p ) m F ( s ) ] s = p A_k = \frac{1}{(m-k)!}\left[\frac{d^{m-k}}{ds^{m-k}}(s-p)^m F(s)\right]_{s=p} A k = ( m − k )! 1 [ d s m − k d m − k ( s − p ) m F ( s ) ] s = p
경우 3: 켤레 복소 극점
A s + B s 2 + 2 α s + ( α 2 + β 2 ) ⇒ e − α t ( C 1 cos β t + C 2 sin β t ) \frac{As + B}{s^2 + 2\alpha s + (\alpha^2 + \beta^2)} \Rightarrow e^{-\alpha t}(C_1\cos\beta t + C_2\sin\beta t) s 2 + 2 α s + ( α 2 + β 2 ) A s + B ⇒ e − α t ( C 1 cos β t + C 2 sin β t )
헤비사이드 전개 정리(Heaviside Expansion) :
분모가 서로 다른 1차 인수의 곱일 때:
F ( s ) = ∑ k = 1 n N ( p k ) Q ′ ( p k ) ⋅ 1 s − p k F(s) = \sum_{k=1}^n \frac{N(p_k)}{Q'(p_k)} \cdot \frac{1}{s - p_k} F ( s ) = ∑ k = 1 n Q ′ ( p k ) N ( p k ) ⋅ s − p k 1
예제: RLC 직렬 회로 과도 응답
L d 2 i d t 2 + R d i d t + i C = E 0 δ ( t ) L\frac{d^2i}{dt^2} + R\frac{di}{dt} + \frac{i}{C} = E_0\delta(t) L d t 2 d 2 i + R d t d i + C i = E 0 δ ( t )
초기조건: i ( 0 ) = 0 i(0) = 0 i ( 0 ) = 0 , i ′ ( 0 ) = E 0 / L i'(0) = E_0/L i ′ ( 0 ) = E 0 / L
풀이 :
양변에 라플라스 변환 적용:
L [ s 2 I ( s ) − s i ( 0 ) − i ′ ( 0 ) ] + R [ s I ( s ) − i ( 0 ) ] + I ( s ) C = E 0 L[s^2I(s) - si(0) - i'(0)] + R[sI(s) - i(0)] + \frac{I(s)}{C} = E_0 L [ s 2 I ( s ) − s i ( 0 ) − i ′ ( 0 )] + R [ s I ( s ) − i ( 0 )] + C I ( s ) = E 0
초기조건 대입:
L s 2 I ( s ) − L E 0 / L + R s I ( s ) + I ( s ) C = E 0 Ls^2 I(s) - LE_0/L + RsI(s) + \frac{I(s)}{C} = E_0 L s 2 I ( s ) − L E 0 / L + R s I ( s ) + C I ( s ) = E 0
I ( s ) ( L s 2 + R s + 1 C ) = 2 E 0 − E 0 = E 0 I(s)\left(Ls^2 + Rs + \frac{1}{C}\right) = 2E_0 - E_0 = E_0 I ( s ) ( L s 2 + R s + C 1 ) = 2 E 0 − E 0 = E 0
잠깐, 초기조건 수정: i ( 0 ) = 0 i(0) = 0 i ( 0 ) = 0 , i ′ ( 0 ) = 0 i'(0) = 0 i ′ ( 0 ) = 0 (캐패시터에 전하 없음)이면 임펄스 입력으로 인해:
I ( s ) = E 0 L s 2 + R s + 1 / C = E 0 / L s 2 + ( R / L ) s + 1 / ( L C ) I(s) = \frac{E_0}{Ls^2 + Rs + 1/C} = \frac{E_0/L}{s^2 + (R/L)s + 1/(LC)} I ( s ) = L s 2 + R s + 1/ C E 0 = s 2 + ( R / L ) s + 1/ ( L C ) E 0 / L
α = R / ( 2 L ) \alpha = R/(2L) α = R / ( 2 L ) , ω 0 = 1 / L C \omega_0 = 1/\sqrt{LC} ω 0 = 1/ L C , ω d = ω 0 2 − α 2 \omega_d = \sqrt{\omega_0^2 - \alpha^2} ω d = ω 0 2 − α 2 (부족감쇠 경우)로 정의하면:
I ( s ) = E 0 / L ( s + α ) 2 + ω d 2 I(s) = \frac{E_0/L}{(s+\alpha)^2 + \omega_d^2} I ( s ) = ( s + α ) 2 + ω d 2 E 0 / L
역 라플라스 변환 (표에서 L { e − α t sin ω d t } = ω d / [ ( s + α ) 2 + ω d 2 ] \mathcal{L}\{e^{-\alpha t}\sin\omega_d t\} = \omega_d/[(s+\alpha)^2+\omega_d^2] L { e − α t sin ω d t } = ω d / [( s + α ) 2 + ω d 2 ] ):
i ( t ) = E 0 L ω d e − α t sin ω d t i(t) = \frac{E_0}{L\omega_d}e^{-\alpha t}\sin\omega_d t i ( t ) = L ω d E 0 e − α t sin ω d t
이것이 RLC 회로의 임펄스 응답 이며, 동시에 그린 함수 이기도 합니다.
import numpy as np
from scipy. integrate import solve_ivp
import matplotlib. pyplot as plt
def rlc_circuit ( t, y, R, L, C, Vs) :
q, dq_dt = y
d2q_dt2 = ( Vs - R * dq_dt - q / C) / L
return [ dq_dt, d2q_dt2]
R = 100
L = 0.1
C = 1e-6
Vs = 10.0
omega_0 = 1.0 / np. sqrt( L * C)
alpha = R / ( 2 * L)
zeta = alpha / omega_0
print ( f"공진 주파수: { omega_0/ ( 2 * np. pi) : .1f } Hz" )
print ( f"감쇠비 zeta: { zeta: .3f } " )
if zeta > 1 :
print ( "-> 과감쇠" )
elif zeta == 1 :
print ( "-> 임계감쇠" )
else :
print ( "-> 부족감쇠" )
y0 = [ 0.0 , 0.0 ]
t_span = ( 0 , 0.01 )
t_eval = np. linspace( 0 , 0.01 , 2000 )
sol = solve_ivp(
rlc_circuit, t_span, y0,
t_eval= t_eval,
args= ( R, L, C, Vs) ,
method= 'RK45' ,
rtol= 1e-8 ,
atol= 1e-10
)
v_C = sol. y[ 0 ] / C
i = sol. y[ 1 ]
fig, axes = plt. subplots( 2 , 1 , figsize= ( 10 , 8 ) )
axes[ 0 ] . plot( sol. t * 1e3 , v_C, 'b-' , linewidth= 2 , label= '커패시터 전압' )
axes[ 0 ] . axhline( y= Vs, color= 'r' , linestyle= '--' , label= f'정상 상태 { Vs} V' )
axes[ 0 ] . set_xlabel( '시간 (ms)' )
axes[ 0 ] . set_ylabel( '전압 (V)' )
axes[ 0 ] . set_title( 'RLC 직렬 회로 - 계단 응답' )
axes[ 0 ] . legend( )
axes[ 0 ] . grid( True , alpha= 0.3 )
axes[ 1 ] . plot( sol. t * 1e3 , i * 1e3 , 'g-' , linewidth= 2 , label= '전류' )
axes[ 1 ] . set_xlabel( '시간 (ms)' )
axes[ 1 ] . set_ylabel( '전류 (mA)' )
axes[ 1 ] . set_title( 'RLC 회로 전류' )
axes[ 1 ] . legend( )
axes[ 1 ] . grid( True , alpha= 0.3 )
plt. tight_layout( )
plt. savefig( 'rlc_response.png' , dpi= 150 )
plt. show( )
import sympy as sp
t, s = sp. symbols( 't s' )
R_sym, L_sym, C_sym = sp. symbols( 'R L C' , positive= True )
Vs_sym = sp. Symbol( 'Vs' )
v = sp. Function( 'v' )
tau = sp. Symbol( 'tau' , positive= True )
ode = sp. Eq( v( t) . diff( t) , ( Vs_sym - v( t) ) / ( R_sym * C_sym) )
solution = sp. dsolve( ode, v( t) , ics= { v( 0 ) : 0 } )
print ( "RC 회로 해:" )
print ( solution)
sp. pprint( solution)
f = sp. exp( - t) * sp. sin( 2 * t)
F = sp. laplace_transform( f, t, s, noconds= True )
print ( f"\nL{{e^(-t) sin(2t)}} = { F} " )
F_inv = sp. inverse_laplace_transform(
1 / ( s** 2 + 2 * s + 5 ) , s, t
)
print ( f"L^(-1){{1/(s^2+2s+5)}} = { F_inv} " )
import numpy as np
import matplotlib. pyplot as plt
def f ( t, y) :
return - y
def euler_method ( f, t0, y0, h, n) :
t = np. zeros( n+ 1 )
y = np. zeros( n+ 1 )
t[ 0 ] , y[ 0 ] = t0, y0
for i in range ( n) :
y[ i+ 1 ] = y[ i] + h * f( t[ i] , y[ i] )
t[ i+ 1 ] = t[ i] + h
return t, y
def rk4_method ( f, t0, y0, h, n) :
t = np. zeros( n+ 1 )
y = np. zeros( n+ 1 )
t[ 0 ] , y[ 0 ] = t0, y0
for i in range ( n) :
k1 = h * f( t[ i] , y[ i] )
k2 = h * f( t[ i] + h/ 2 , y[ i] + k1/ 2 )
k3 = h * f( t[ i] + h/ 2 , y[ i] + k2/ 2 )
k4 = h * f( t[ i] + h, y[ i] + k3)
y[ i+ 1 ] = y[ i] + ( k1 + 2 * k2 + 2 * k3 + k4) / 6
t[ i+ 1 ] = t[ i] + h
return t, y
h = 0.5
n = 10
t0, y0 = 0.0 , 1.0
t_euler, y_euler = euler_method( f, t0, y0, h, n)
t_rk4, y_rk4 = rk4_method( f, t0, y0, h, n)
t_exact = np. linspace( 0 , n* h, 200 )
y_exact = np. exp( - t_exact)
plt. figure( figsize= ( 10 , 5 ) )
plt. plot( t_exact, y_exact, 'k-' , linewidth= 2 , label= '정확해' )
plt. plot( t_euler, y_euler, 'r--o' , label= f'오일러법 (h= { h} )' )
plt. plot( t_rk4, y_rk4, 'b--s' , label= f'RK4 (h= { h} )' )
plt. xlabel( 't' )
plt. ylabel( "y(t)" )
plt. title( "오일러법 vs RK4 비교: y' = -y" )
plt. legend( )
plt. grid( True , alpha= 0.3 )
plt. tight_layout( )
plt. show( )
print ( f"t=5에서 오일러법 오차: { abs ( y_euler[ - 1 ] - np. exp( - 5 ) ) : .6f } " )
print ( f"t=5에서 RK4 오차: { abs ( y_rk4[ - 1 ] - np. exp( - 5 ) ) : .6f } " )
import sympy as sp
s, t = sp. symbols( 's t' , real= True )
a, omega = sp. symbols( 'a omega' , positive= True )
functions = {
'1' : sp. Integer( 1 ) ,
't' : t,
't^2' : t** 2 ,
't^n' : t** 3 ,
'e^(at)' : sp. exp( a* t) ,
'sin(wt)' : sp. sin( omega* t) ,
'cos(wt)' : sp. cos( omega* t) ,
't*e^(at)' : t * sp. exp( a* t) ,
'e^(at)*sin(wt)' : sp. exp( a* t) * sp. sin( omega* t) ,
}
print ( "라플라스 변환표:" )
print ( "-" * 50 )
for name, func in functions. items( ) :
F = sp. laplace_transform( func, t, s, noconds= True )
print ( f"L{{ { name} }} = { sp. simplify( F) } " )
문제 : R = 50 Ω R = 50\,\Omega R = 50 Ω , L = 0.2 H L = 0.2\,\text{H} L = 0.2 H , C = 100 μ F C = 100\,\mu\text{F} C = 100 μ F 인 직렬 RLC 회로에 t = 0 t=0 t = 0 에서 V s = 100 V V_s = 100\,\text{V} V s = 100 V DC 전원이 연결된다. 초기조건은 v C ( 0 ) = 0 v_C(0) = 0 v C ( 0 ) = 0 , i ( 0 ) = 0 i(0) = 0 i ( 0 ) = 0 이다.
라플라스 변환으로 풀기 :
키르히호프 전압 법칙:
L d i d t + R i + 1 C ∫ i d t = V s u ( t ) L\frac{di}{dt} + Ri + \frac{1}{C}\int i\,dt = V_s u(t) L d t d i + R i + C 1 ∫ i d t = V s u ( t )
i = C d v C / d t i = C dv_C/dt i = C d v C / d t 로 치환하여 전하 q q q 로 정리:
L q ¨ + R q ˙ + q C = V s L\ddot{q} + R\dot{q} + \frac{q}{C} = V_s L q ¨ + R q ˙ + C q = V s
라플라스 변환:
( L s 2 + R s + 1 C ) Q ( s ) = V s s \left(Ls^2 + Rs + \frac{1}{C}\right)Q(s) = \frac{V_s}{s} ( L s 2 + R s + C 1 ) Q ( s ) = s V s
Q ( s ) = V s s ( L s 2 + R s + 1 C ) = V s / L s ( s 2 + R L s + 1 L C ) Q(s) = \frac{V_s}{s\left(Ls^2 + Rs + \frac{1}{C}\right)} = \frac{V_s/L}{s\left(s^2 + \frac{R}{L}s + \frac{1}{LC}\right)} Q ( s ) = s ( L s 2 + R s + C 1 ) V s = s ( s 2 + L R s + L C 1 ) V s / L
수치 대입: α = R / ( 2 L ) = 125 s − 1 \alpha = R/(2L) = 125\,\text{s}^{-1} α = R / ( 2 L ) = 125 s − 1 , ω 0 = 1 / L C ≈ 223.6 s − 1 \omega_0 = 1/\sqrt{LC} \approx 223.6\,\text{s}^{-1} ω 0 = 1/ L C ≈ 223.6 s − 1
ω 0 > α \omega_0 > \alpha ω 0 > α 이므로 부족감쇠입니다.
ω d = ω 0 2 − α 2 ≈ 185.0 s − 1 \omega_d = \sqrt{\omega_0^2 - \alpha^2} \approx 185.0\,\text{s}^{-1} ω d = ω 0 2 − α 2 ≈ 185.0 s − 1
부분 분수 분해 후 역 라플라스 변환:
v C ( t ) = V s [ 1 − e − α t ( cos ω d t + α ω d sin ω d t ) ] v_C(t) = V_s\left[1 - e^{-\alpha t}\left(\cos\omega_d t + \frac{\alpha}{\omega_d}\sin\omega_d t\right)\right] v C ( t ) = V s [ 1 − e − α t ( cos ω d t + ω d α sin ω d t ) ]
= 100 [ 1 − e − 125 t ( cos 185 t + 0.676 sin 185 t ) ] V = 100\left[1 - e^{-125t}\left(\cos 185t + 0.676\sin 185t\right)\right]\,\text{V} = 100 [ 1 − e − 125 t ( cos 185 t + 0.676 sin 185 t ) ] V
문제 : m = 1 kg m = 1\,\text{kg} m = 1 kg , k = 100 N / m k = 100\,\mathrm{N/m} k = 100 N/m , c = 4 N ⋅ s / m c = 4\,\mathrm{N \cdot s/m} c = 4 N ⋅ s/m , F ( t ) = 10 cos ω t N F(t) = 10\cos\omega t\,\mathrm{N} F ( t ) = 10 cos ω t N
고유 진동수: ω n = k / m = 10 rad/s \omega_n = \sqrt{k/m} = 10\,\text{rad/s} ω n = k / m = 10 rad/s
감쇠비: ζ = c / ( 2 m k ) = 0.2 \zeta = c/(2\sqrt{mk}) = 0.2 ζ = c / ( 2 mk ) = 0.2 (부족감쇠)
정상 상태 응답 진폭:
X = F 0 / k ( 1 − r 2 ) 2 + ( 2 ζ r ) 2 X = \frac{F_0/k}{\sqrt{(1-r^2)^2 + (2\zeta r)^2}} X = ( 1 − r 2 ) 2 + ( 2 ζ r ) 2 F 0 / k
r = ω / ω n = 1 r = \omega/\omega_n = 1 r = ω / ω n = 1 (공진)일 때:
X r e s = F 0 / k 2 ζ = 10 / 100 2 × 0.2 = 0.25 m X_{\mathrm{res}} = \frac{F_0/k}{2\zeta} = \frac{10/100}{2 \times 0.2} = 0.25\,\text{m} X res = 2 ζ F 0 / k = 2 × 0.2 10/100 = 0.25 m
공진 없을 때 정적 처짐 F 0 / k = 0.1 m F_0/k = 0.1\,\text{m} F 0 / k = 0.1 m 의 2.5배 입니다. 이것이 공진의 위험성입니다.
이번 글에서 다룬 내용:
미분방정식 기초 : 분류, 차수, 선형성, 해의 종류
1차 ODE 풀이법 : 변수분리법, 적분인자법, 완전 ODE, 베르누이 방정식
2차 선형 ODE : 특성방정식, 세 가지 경우, RLC 회로 완전 분석
비제차 방정식 : 미결정계수법, 매개변수 변환법, 강제 진동
연립 ODE : 행렬 표현, 고유값/고유벡터 풀이
라플라스 변환 : 정의, 변환쌍, 성질, 역변환, ODE 풀이
Python 구현 : scipy, sympy로 수치/기호 풀이
다음 편에서는 **푸리에 급수/변환과 편미분방정식(PDE)**을 다룰 예정입니다. 신호처리와 전자기학의 핵심 수학 도구입니다.
Kreyszig, E. "Advanced Engineering Mathematics", 10th Edition, Wiley
Boyce, W. & DiPrima, R. "Elementary Differential Equations", 11th Edition, Wiley
Simmons, G. "Differential Equations with Applications and Historical Notes", 3rd Edition
SciPy ODE 솔버 공식 문서
SymPy 라플라스 변환 문서