선형미분방정식(Linear Differential Equations)
다음 식 1은 가장 높은 차수가 1차 미분을 포함하는 전형적인 선형 1계 미분방정식입니다. 기본적으로 이 형태의 방정식을 풀기 위해서는 좌항 전체를 적분 가능한 형태로 전환해 줍니다. $$\frac{dy}{dt}+p(t)y=g(t) \tag{1}$$ 식 1의 p(t)와 g(t)는 연속함수입니다. 식 1의 좌항은 특정한 함수를 첨가함으로 식 2와 같은 미분의 곱의 형태와 유사하게 만들 수 있습니다. $$\frac{d}{dx}\left(f(x)\mu(x)\right) = \frac{d[f(x)]}{dx}\mu(x)+f(x)\frac{d[\mu(x)]}{dx} \tag{2}$$ 식 1을 식 2와 같은 형태로 만들기 위해 식 1의 양변에 $\mu(t)$를 곱해줍니다. 이 함수를 적분인자(integrating factor)라고 합니다. $$\mu(t)\frac{dy}{dt}+\mu(t)p(t)y=\mu(t)g(t)\tag{3}$$ 적분인자를 고려한 식 3을 식 2와 비교하면 식 4를 가정할 수 있습니다. $$\begin{align}\tag{4} & \mu(t)p(t)=\mu'(t)\\ & \frac{\mu(t)}{\mu'(t)}=p(t)\end{align}$$ 위의 가정으로 2의 좌항에 미분의 곱법칙을 적용될 수 있습니다. $$\begin{equation}\begin{aligned}&\mu(t)\frac{dy}{dt}+\mu'(t)y=(\mu(t) y)'=\mu(t)g(t)\\ & \therefore \mu(t)g(t)=(\mu(t) y)'\end{aligned}\end{equation}$$ 위 식의 양변을 적분하여 y (또는 y(t))를 다음과 같이 정리할 수 있습니다. $$\begin{aligned}&\begin{aligned}\int\mu(t)g(t)\, dt&=\int (\mu(t) y(t))' \, dt\\&=\mu(t) y(t)+C\end{aligned}\\ &y(t)=\frac{\int\mu(t)g(t)\, dt+C}{\mu(t)}\end{aligned}$$ 다음으로 $\mu(t)$를 결정합니다. $$\begin{aligned}&\mu(t)p(t)=\mu'(t)\\ &p(t)=\frac{\mu'(t)}{\mu(t)}\end{aligned}$$ 위 식의 우항은 로그함수의 미분 결과입니다. $$\begin{aligned}&p(t)=\left(\ln \mu(t)\right)'\\ &\int \left(\ln \mu(t)\right)'\, dt= \int p(t) \,dt\\ &\ln \mu(t)+k=\int p(t) \,dt\\ &\ln \mu(t)=\int p(t) \,dt+k\end{aligned}$$ C와 마찬가지로 k는 상수이며 부호는 그 상수 심벌에 포함되는 것으로 고려합니다. 위 식에서 $\mu(t)$를 추출하기 위해 지수함수화 합니다. $$\begin{aligned} \mu(t)&=\exp\left(\int p(t) \,dt+k \right)\\ &=\exp(k)\exp\left(\int p(t) \,dt \right)\\ &=k\exp\left(\int p(t) \,dt \right) \end{aligned}$$ 위 결과를 y(t)에 대입하면 $$\begin{aligned}y(t)&=\frac{\int\mu(t)g(t)\, dt+C}{\mu(t)}\\ &=\frac{\int \left[ k\exp\left(\int p(t) \,dt \right) g(t)\right]\,dt+C}{k\exp\left(\int p(t) \,dt \right)}\\ &=\frac{\int \left[ \exp\left(\int p(t) \,dt \right) g(t)\right]\,dt+\frac{C}{k}}{\exp\left(\int p(t) \,dt \right)}\\ &=\frac{\int \left[ \exp\left(\int p(t) \,dt \right) g(t)\right]\,dt+C}{\exp\left(\int p(t) \,dt \right)}\end{aligned}$$ 결과적으로 1계 선형미분방정식의 해는 다음과 같이 나타낼 수 있습니다. $$y(t)=\frac{\int\mu(t)g(t)\, dt+C}{\mu(t)}, \quad \mu(t)=\exp\left(\int p(t) \,dt \right)$$예)
다음 미분방정식의 해를 결정합니다.
$$\frac{dv}{dt}=9.8-0.196v$$
t, C=symbols('t C') ans=(integrate(exp(0.196*t)*9.8, t)+C)/exp(0.196*t); ans$\quad\color{navy}{\scriptstyle \left(C + 50.0 e^{0.196 t}\right) e^{- 0.196 t}}$
위 결과는 sympy의 dsolve()함수를 적용한 결과로 확인할 수 있습니다.
v=Function('v')(t) eq=Eq(v.diff(t), 9.8-0.196*v);eq$\quad\color{navy}{\scriptstyle \frac{d}{d t} v{\left(t \right)} = 9.8 - 0.196 v{\left(t \right)}}$
sol=dsolve(eq, v); sol$\quad\color{navy}{\scriptstyle v{\left(t \right)} = C_{1} e^{- 0.196 t} + 50.0}$
위 예의 초기조건 v(0)=8
C1=solve(Eq(ans.subs(t, 0), 8), C); C1
[-42.0000000000000]
dsolve(eq, v, ics={v.subs(t, 0):8})$\quad\color{navy}{\scriptstyle v{\left(t \right)} = 50.0 - 42.0 e^{- 0.196 t}}$
예)
다음의 미분방정식의 해를 결정합니다.
$$\cos(x)y'+\sin(x)y=2\cos^3(x)\sin(x)-1, \quad y\left( \frac{\pi}{4}\right)=3\sqrt{2}$$
x=symbols('x') mu=exp(integrate(tan(x), x)); mu$\quad\color{navy}{\scriptstyle \frac{1}{\cos{\left(x \right)}}}$
위 식을 정리하면 $$\begin{aligned}&\sec(x)\frac{dy}{dx}+\sec(x)\tan(x)y=\sec(x)2\cos^2(x)\sin(x)-\sec^2(x)\\ &(\sec(x)y(x))'=2\cos(x)\sin(x)-\sec^2(x)\\ &\int (\sec(x)y(x))'\,dx=\int\left(2\cos(x)\sin(x)-\sec^2(x)\right)\, dx\end{aligned}$$ 위 식의 우항의 적분은 다음과 같습니다. $$\begin{aligned}&\int 2\cos(x)\sin(x)\,dx=\sin^2(x)+C\\ &\frac{d}{dx}\tan(x)=\frac{d}{dx}\frac{\sin(x)}{\cos(x)}=\frac{\cos(x)\sin(x)+\sin(x)\cos(x)}{\cos^2(x)}=\sec^2(x)\end{aligned}$$
integrate(2*cos(x)*sin(x)-sec(x)**2, x)$\quad\color{navy}{\scriptstyle \sin^{2}{\left(x \right)} - \frac{\sin{\left(x \right)}}{\cos{\left(x \right)}}}$
그러므로 위 식을 정리하면 $$\begin{aligned}&\sec(x)y(x)=\sin^2(x)-\tan(x)+C\\&y(x)=\frac{\sin^2(x)-\tan(x)+C}{\sec(x)}\end{aligned}$$
x=symbols('x') y=Function('y')(x) eq=Eq(y.diff(x)+tan(x)*y, 2*cos(x)**2*sin(x)-sec(x));eq$\quad\color{navy}{\scriptstyle y{\left(x \right)} \tan{\left(x \right)} + \frac{d}{d x} y{\left(x \right)} = 2 \sin{\left(x \right)} \cos^{2}{\left(x \right)} - \sec{\left(x \right)}}$
genSol=dsolve(eq, y) simplify(genSol)$\quad\color{navy}{\scriptstyle y{\left(x \right)} = C_{1} \cos{\left(x \right)} - \sin{\left(x \right)} - \cos^{3}{\left(x \right)}}$
genSol.rhs$\quad\color{navy}{\scriptstyle C_{1} \cos{\left(x \right)} - \sin{\left(x \right)} - \cos^{3}{\left(x \right)}}$
sol=dsolve(eq, y, ics={y.subs(x, pi/4):3*sqrt(2)}); sol$\quad\color{navy}{\scriptstyle y{\left(x \right)} = - \sin{\left(x \right)} - \cos^{3}{\left(x \right)} + \frac{15 \cos{\left(x \right)}}{2}}$
sol.subs(x, 0).evalf(4)
y(0)=6.5
sol.rhs.subs(x, 0).evalf(4)
6.5
plt.figure(dpi=100) a=np.linspace(0, 20, 100) b=np.array([float(sol.rhs.subs(x, i).evalf(4)) for i in a]) plt.plot(a, b) plt.show()
예)
$ty'+2y=t^2-t+1$의 해를 결정합니다. 초기조건은 $y(1)=\frac{1}{2}$입니다.
t=symbols('t') y=Function('y')(t) eq=Eq(t*y.diff(t)+2*y, t**2-t+1);eq$\quad\color{navy}{\scriptstyle t \frac{d}{d t} y{\left(t \right)} + 2 y{\left(t \right)} = t^{2} - t + 1}$
dsolve(eq, y, ics={y.subs(t, 1): Rational(1,2)})$\quad\color{navy}{\scriptstyle y{\left(t \right)} = \frac{t^{2}}{4} - \frac{t}{3} + \frac{1}{2} + \frac{1}{12 t^{2}}}$
예)
$ty'-2y=t^5\sin(2t)-t^3+4t^4, \quad y(\pi)=\frac{3}{2}\pi^4$의 해를 결정합니다.
t=symbols('t') y=Function('y')(t) eq=Eq(y.diff(t)-2*y/t, t**4*sin(2*t)-t**2+4*t**3) dsolve(eq, y, ics={y.subs(t, pi):3*pi**4/2})$\quad\color{navy}{\scriptstyle y{\left(t \right)} = t^{2} \left(- \frac{t^{2} \cos{\left(2 t \right)}}{2} + 2 t^{2} + \frac{t \sin{\left(2 t \right)}}{2} - t + \frac{\cos{\left(2 t \right)}}{4} - \frac{1}{4} + \pi\right)}$
댓글
댓글 쓰기