# 미분방정식 해석 기초

#### 미분방정식의 정의와 기본 개념

미분방정식은 미지함수와 그 함수의 도함수들 사이의 관계를 나타내는 식이다. 이를 보다 엄밀하게 표현하면, 독립변수를 $t$라 하고 종속변수를 $x(t)$라 할 때, 종속변수 $x(t)$와 그 도함수 $x'(t)$, $x''(t)$ 등이 포함된 식을 만족하도록 하는 $x(t)$를 구하는 문제로 이해할 수 있다. 예를 들어

$$
\frac{dx(t)}{dt} = x(t)
$$

와 같은 식은 $x(t)$와 그 1계 도함수 $dx(t)/dt$ 사이의 관계를 나타낸 간단한 1계 선형 미분방정식이다.

미분방정식을 정확하게 이해하기 위해서는 우선 미분 연산이 가지는 의미, 그리고 도함수라는 개념이 얼마나 넓게 확장될 수 있는지 살펴봐야 한다. 그러나 제어공학에서는 주로 $t$가 시간(time)을 나타내고, 시스템이나 상태변수(state variable)가 $x(t)$를 통해 기술된다고 보면 된다. 특히 선형 시스템 이론에서 주로 다루는 것은 (1) 계수가 시간에 대해 일정한지(time-invariant) 여부, (2) 미분방정식의 차수가 몇 차인지(order) 등에 따라 분류되는 선형 상미분방정식들이다.

#### 미분방정식의 차수와 종류

차수(order)란 미분방정식에서 등장하는 도함수 중 가장 높은 차수를 말한다. 예를 들어

$$
\frac{d^2 x(t)}{dt^2} + a \frac{dx(t)}{dt} + b x(t) = 0
$$

라는 식은 2계 미분방정식이다. 제어공학에서는 다양한 물리계나 화학계 등을 모델링할 때 1계 혹은 2계 정도가 자주 등장하며, 고차 미분방정식도 이론적으로 가능하나 주로 상태방정식으로 바꾸어 해석하기에 1계 연립방정식의 형태로 표현되는 경우가 많다.

미분방정식은 선형(linear)과 비선형(nonlinear)으로도 구분한다. 선형 미분방정식은 종속변수와 그 도함수들이 1차의 형태로만 등장하고, 곱해지거나 거듭제곱되지 않는다. 이를테면

$$
x'(t) + p(t) x(t) = q(t)
$$

는 선형식이고,

$$
x'(t) + x(t)^2 = 0
$$

와 같은 식은 비선형 미분방정식이 된다.

#### 초기값 문제와 해의 유일성

미분방정식은 적절한 조건, 특히 초기값(initial condition)이나 경계값(boundary condition)이 주어져야 구체적인 해를 구할 수 있다. 초기값 문제(Initial Value Problem, IVP)는 시간 $t=0$에서 $x(0) = x\_0$와 같은 특정값이 주어졌을 때, 그 값을 만족하는 $x(t)$가 존재하고 유일하다는 사실이 중요하다. 예를 들어, 1계 선형 미분방정식

$$
\frac{dx(t)}{dt} = f(t, x(t))
$$

에서 $t = t\_0$일 때 $x(t\_0) = x\_0$라는 초기조건이 주어지면, 피카르-린델로프 정리에 의해 연속성이 확보되는 적절한 $f(t, x)$라면 해당 초기값 문제의 해가 국소적으로 유일하게 존재한다.

유일해가 존재한다는 것은 제어 시스템에서 초기 상태가 정해져 있을 때 그 미래 거동이 어느 정도 예측 가능하다는 것을 의미한다. 이는 안정성 해석, 구현, 시뮬레이션 등에 있어서 핵심적인 기반이다.

#### 기본 해법과 일반해, 특수해

미분방정식을 해결하는 과정에서 가장 먼저 고려해야 할 것은 미분방정식의 종류(선형/비선형, 상수계수/변수계수 등)다. 선형 상수계수 미분방정식의 경우 비교적 체계적인 해법(예: 특성방정식을 통한 해)이 잘 알려져 있다. 예를 들어, 상수계수 2계 선형 미분방정식

$$
\frac{d^2 x(t)}{dt^2} + a \frac{dx(t)}{dt} + b x(t) = 0
$$

에 대해서는 특성방정식

$$
r^2 + a r + b = 0
$$

를 풀어 그 근 $r\_1, r\_2$에 따라 지수함수, 혹은 지수함수에 삼각함수를 곱한 형태의 일반해를 구할 수 있다. 이와 달리 비선형 미분방정식은 경우에 따라 해석적으로 해를 구하기 매우 어렵거나 아예 불가능한 경우도 많다. 그러므로 제어공학에서는 복잡한 비선형 방정식을 직접 해석적으로 풀기보다, 근사 기법이나 수치적 해법을 활용하거나 선형화(linearization) 기법으로 다룬다.

#### 라플라스 변환과 상미분방정식의 해

제어공학에서 매우 중요한 도구 중 하나가 라플라스 변환(Laplace transform)이다. 특히 선형 상수계수 미분방정식을 풀 때 라플라스 변환이 크게 활용된다. 예를 들어,

$$
\frac{d^2 x(t)}{dt^2} + 3 \frac{dx(t)}{dt} + 2 x(t) = u(t)
$$

같은 식에서, 양변에 대해 라플라스 변환을 취하면

$$
s^2 X(s) - s x(0) - x'(0) + 3 \bigl\[s X(s) - x(0)\bigr] + 2 X(s) = U(s)
$$

와 같은 대수방정식 형태로 바뀐다. 이를 적절히 정리하여 $X(s)$를 구한 뒤, 역라플라스 변환(Inverse Laplace transform)을 취하면 $x(t)$가 얻어진다.

이처럼 라플라스 변환을 활용하면 미분을 곱셈과 초기조건 처리로 간단히 나타낼 수 있어, 시변 시스템(time-varying system)을 제외한 상당수의 선형 시불변 시스템(LTI system)을 분석하는 데 효과적이다.

#### 연산자로서의 미분

미분 연산을 연산자(operator) 관점에서 해석하면, 미분방정식은 다음과 같은 형태로 재해석될 수 있다.

$$
D \bigl\[x(t)\bigr] = \frac{dx(t)}{dt}
$$

이라는 미분 연산자를 $D$라고 할 때, 선형 상수계수 미분방정식은

$$
(D^n + a\_{n-1}D^{n-1} + \cdots + a\_1 D + a\_0)x(t) = u(t)
$$

와 같이 표현할 수 있다. 이때 $D^k$는 $k$계 미분을 의미하며, $k=0$인 경우에는 단순히 $x(t)$ 자체(즉 $D^0 = 1$)로 해석된다.

이런 형태로 보면, 미분방정식을 하나의 선형 연산자로 바라볼 수 있으며, 라플라스 변환에서 $D$가 $s$로 매핑된다는 사실이 제어공학 해석을 유연하게 만든다.

#### 상태방정식(State-Space Representation)과 미분방정식

고차 미분방정식을 1계 연립 미분방정식으로 변환하여 분석하는 형태가 상태방정식이다. 예를 들어

$$
\frac{d^2 x(t)}{dt^2} = -a \frac{dx(t)}{dt} - b x(t) + u(t)
$$

라는 2계 미분방정식에서

$$
\mathbf{x}(t) =  \begin{pmatrix} x\_1(t) \ x\_2(t) \end{pmatrix} \quad \text{로 정의하면,}
\\
x\_1(t) = x(t), \quad x\_2(t) = \frac{dx(t)}{dt}
$$

이므로

$$
\frac{dx\_1(t)}{dt} = x\_2(t), \quad \frac{dx\_2(t)}{dt} = -a x\_2(t) - b x\_1(t) + u(t)
$$

와 같이 나타낼 수 있다. 이를 벡터 형태로 쓰면

$$
\frac{d}{dt} \begin{pmatrix} x\_1(t) \ x\_2(t) \end{pmatrix} = \begin{pmatrix} 0 & 1 \ - b & - a \end{pmatrix} \begin{pmatrix} x\_1(t) \ x\_2(t) \end{pmatrix} + \begin{pmatrix} 0 \ 1 \end{pmatrix} u(t)
$$

와 같아져, 행렬 $\mathbf{A}$, 입력계수 행렬 $\mathbf{B}$, 상태벡터 $\mathbf{x}(t)$ 등을 이용해 다음과 같은 상태공간 표현으로 정리된다.

$$
\mathbf{x}'(t) = \mathbf{A x}(t) + \mathbf{B} u(t)
$$

상태공간 표현은 차수 높은 상미분방정식을 해석하기보다, 1계 연립방정식을 해석하는 형태가 훨씬 일반화된 방법임을 보여준다. 제어공학에서 고차 미분방정식을 다룰 때 거의 대부분 상태방정식으로 변환하여 해석, 설계, 시뮬레이션 작업을 진행한다.

#### 해석적 해법: 특성방정식과 모드 분석

선형 상수계수 미분방정식은 특성방정식을 통해 해를 체계적으로 구할 수 있다. 예를 들어

$$
\frac{d^n x(t)}{dt^n} + a\_{n-1} \frac{d^{n-1} x(t)}{dt^{n-1}} + \cdots + a\_1 \frac{dx(t)}{dt} + a\_0 x(t) = 0
$$

와 같은 $n$계 상미분방정식을 생각해 보면, 특성방정식은

$$
r^n + a\_{n-1} r^{n-1} + \cdots + a\_1 r + a\_0 = 0
$$

가 된다. 이 특성방정식에서 근 $r\_k$들을 구하면, 그 근들이 모두 상이한 실근(real root)인 경우 해는

$$
x(t) = C\_1 e^{r\_1 t} + C\_2 e^{r\_2 t} + \cdots + C\_n e^{r\_n t}
$$

와 같이 주어지며, 여기서 $C\_k$는 초기조건이나 경계조건에 의해 결정되는 상수들이다. 만약 복소근(complex root)이 존재하면 오일러 공식에 따라 이를 삼각함수와 지수함수로 표현할 수 있다.

근들이 중복근을 가질 때에는 $t$의 거듭제곱 형태가 추가되어

$$
e^{r t},\quad t e^{r t}, \quad t^2 e^{r t}, ;\dots
$$

등의 항이 나타나게 된다. 중복도가 $m$인 근 $r$에 대해서는

$$
e^{r t},; t e^{r t},; \dots,; t^{m-1} e^{r t}
$$

까지 포함되는 점이 중요한 특징이다.

특성방정식 관점에서 해를 바라보면, 시스템이 가질 수 있는 모든 ‘고유 모드(eigenmode)’가 지수함수(또는 그 변형)로 이루어진다는 것을 확인할 수 있다. 제어공학에서 이러한 고유 모드의 개념은 상태방정식에서의 고유치(eigenvalue)와 직결된다. 시스템 매트릭스 $\mathbf{A}$의 고유치는 곧 미분방정식의 특성방정식 근과 동일한 의미로 볼 수 있으며, 이는 시스템의 고유한 응답 특성을 결정한다.

#### 선형 미분방정식 해의 중첩 원리

선형 미분방정식은 중첩(superposition)의 원리가 성립한다. 즉,

$$
L{x\_1(t)} = f\_1(t),\quad L{x\_2(t)} = f\_2(t)
$$

를 만족하는 두 해 $x\_1(t)$, $x\_2(t)$가 있을 때,

$$
L{\alpha x\_1(t) + \beta x\_2(t)} = \alpha f\_1(t) + \beta f\_2(t)
$$

가 성립한다. 여기서 $L$은 선형 미분연산자를 의미한다. 따라서 선형 미분방정식에 대한 해를 구하면, 여러 입력이 동시에 존재하는 상황에서 그 해들을 선형 결합으로 중첩하여 전체 해를 손쉽게 구할 수 있다.

이 원리는 라플라스 변환, 상태공간 해석, 그리고 임펄스 응답과 컨볼루션 적분 등 다양한 해석 방법의 기초가 된다.

#### 해석적 기법: 적분인자법

1계 선형 미분방정식

$$
\frac{dx(t)}{dt} + p(t), x(t) = q(t)
$$

에 대해, 적분인자(integrating factor) $\mu(t)$를 정의하여 해를 구하는 표준 방식이 있다. 적분인자는

$$
\mu(t) = \exp!\Bigl(\int p(t), dt\Bigr)
$$

로 정의되고, 이 $\mu(t)$를 양변에 곱하면 좌변이

$$
\frac{d}{dt}\bigl\[\mu(t), x(t)\bigr]
$$

의 형태로 단순화된다. 그 결과

$$
\frac{d}{dt}\bigl\[\mu(t), x(t)\bigr] = \mu(t), q(t)
$$

가 되고, 이를 적분하면

$$
\mu(t), x(t) = \int \mu(t), q(t), dt + C
$$

에서 $x(t)$를 구할 수 있다. 이 방식은 비교적 간단한 1계 미분방정식을 푸는 기본적 방법이며, 다양한 응용 분야에서 자주 등장한다.

#### 해석적 기법: 파라미터 변화법

고차 혹은 비선형 미분방정식을 풀 때에는 파라미터 변화법(method of variation of parameters)도 유용하다. 예를 들어

$$
x'(t) + p(t) x(t) = 0
$$

에 대한 ‘상대방정식’ 해 $x\_h(t)$를 알고 있을 때, 구하고자 하는 비상수항(non-homogeneous) 방정식

$$
x'(t) + p(t) x(t) = q(t)
$$

의 해를

$$
x\_p(t) = u(t), x\_h(t)
$$

와 같은 형태로 가정한다. 그 뒤 $x\_p(t)$를 원래 식에 대입하면 $u(t)$에 대한 방정식을 얻을 수 있고, 이를 적분하여 특정해(particular solution)를 구하게 된다. 이 방법은 고차 방정식에도 확장될 수 있으며, 관련 개념으로는 미분방정식에서의 기본해(principal solution)와 그 선형독립성(linear independence)에 대한 이론 등이 있다.

#### 컨볼루션 적분과 임펄스 응답

선형 시불변 LTI 시스템에서 입력 $u(t)$에 대해 출력 $y(t)$를 구할 때, 미분방정식으로부터 임펄스응답 $h(t)$를 얻어두면

$$
y(t) = \int\_{0}^{t} h(\tau), u(t-\tau), d\tau
$$

와 같은 컨볼루션 적분(convolution integral)으로 출력이 표현된다. 이는 미분방정식을 직접 푸는 방식이 아니라, 시스템의 임펄스 응답을 알고 있으면 임의 입력에 대해 적분 연산을 통해 바로 응답을 구할 수 있음을 의미한다. 미분방정식을 라플라스 변환한 뒤에

$$
Y(s) = H(s) , U(s)
$$

같은 곱셈 형태로 단순화되는 것도 이러한 컨볼루션 정리의 결과다.

#### 선형 시변 시스템과 미분방정식

시간에 따라 계수가 변하는 선형 시변 시스템(LTV: linear time-varying)에서는 상수계수 시스템에서 쓰던 라플라스 변환이 직접 적용되지 않는다. 예를 들어,

$$
\frac{dx(t)}{dt} + p(t),x(t) = u(t)
$$

에서 $p(t)$가 시간에 의존하면, 앞서 언급한 적분인자법을 통해 직접 푸는 방식을 사용한다. 그러나 고차 계, 혹은 보다 복잡한 형태의 시변계는 라플라스 변환 대신 다른 적분변환(예: 분수변환, 또는 근사적 수치 기법)을 고려해야 할 수도 있다.

상태방정식의 관점에서도 시간 의존적인 $\mathbf{A}(t)$, $\mathbf{B}(t)$가 등장하면 해석이 훨씬 까다로워진다. 그럼에도 불구하고 적분 형태의 해인

$$
\mathbf{x}(t) = \Phi(t, t\_0),\mathbf{x}(t\_0) + \int\_{t\_0}^{t} \Phi(t, \tau),\mathbf{B}(\tau),u(\tau), d\tau
$$

를 통해 시스템 행렬함수 $\Phi(t, \tau)$를 적절히 구하면, (완벽한 해석은 어려울 수 있지만) 해를 구할 수 있다. 이때 $\Phi(t, \tau)$는 본질적으로 가변계수 미분방정식 해의 일반화된 개념이며, fundamental matrix(기본해 행렬)로 불린다.

#### 안정성 해석과 미분방정식

제어공학에서 핵심은 시스템의 거동을 단순히 해석하는 데 그치지 않고, 이를 안정화하거나 성능을 최적화하는 방안까지 찾는 것이다. 미분방정식을 통해 해를 구한 뒤, 그 해가 시간이 지남에 따라 발산하는지 수렴하는지, 혹은 임의의 초기조건에 대해 어떤 거동을 나타내는지를 확인해야 한다. 이를 안정성 해석(stability analysis)이라고 한다.

상미분방정식을 해석적으로 풀어 $x(t)$를 구하면, $x(t)$가 $t \to \infty$일 때 발산하는지, 상수값에 머무는지, 진동하는지 등 다양한 관점에서 거동을 파악할 수 있다. 예를 들어, 2계 방정식

$$
\frac{d^2 x(t)}{dt^2} + 2 \zeta \omega\_n \frac{dx(t)}{dt} + \omega\_n^2 x(t) = 0
$$

는 고유진동수 $\omega\_n$와 감쇠비 $\zeta$에 의해 해가 지수 감쇠, 감쇠 진동, 임계 감쇠 등의 형태를 보이는데, 이를 통해 시스템이 자연스럽게 안정화되는지(해가 0으로 수렴), 영구 진동을 일으키는지, 혹은 발산하는지 판별할 수 있다.

미분방정식의 해가 지수함수 항으로 표현될 때, 그 지수함수의 지수부가 음수이면 해는 사라지고(감쇠), 양수이면 해가 커지며(발산), 0이면 상수 크기로 유지된다(무감쇠 진동). 제어 이론에서는 고차 방정식 혹은 상태공간 표현에서의 고유치(eigenvalue)들의 실부가 모두 음수 영역에 있으면 시스템이 안정하다고 본다.

#### 제어이론에서의 특수 해석: 영 입력 응답(ZIR)과 영 상태 응답(ZSR)

선형 시불변 시스템에서 중요한 개념 중 하나가 초기조건과 입력에 의해 나뉜 두 종류의 해다.

시스템에 입력이 없는데도(즉 $u(t)=0$) 상태방정식 해가 달라지는 것은 초기조건 때문이며, 이를 영입력응답(ZIR: zero input response)이라고 한다. 고차 미분방정식으로 보면, 미분방정식의 동특성(특성방정식)에서 오는 자연 응답(natural response)이 여기에 해당한다.

반면, 초기조건이 모두 0이라고 가정할 때 나타나는 출력은 입력에 의해서만 발생하며, 이를 영상태응답(ZSR: zero state response)이라고 한다. 이는 미분방정식의 강제 응답(forced response)에 해당한다.

따라서 전체 해 $x(t)$는 영입력응답과 영상태응답의 합으로 표현된다. 선형 미분방정식 해가 동특성(동특성방정식에서 오는 해)과 특수해(강제해)의 합으로 표현되는 것과 직접적으로 대응된다.

#### 수치해석 기법의 필요성

현실에서 나타나는 많은 미분방정식은 해석적으로(analytic form) 풀기 어렵다. 설령 선형이더라도 차수가 매우 높거나 시변 계수, 분산 매개변수 등이 포함될 수 있으며, 비선형 계의 경우 일반적으로 해석적 해를 구하기가 훨씬 까다롭다. 이때는 수치해석(numerical analysis)을 활용하여 근사적으로 해를 구한다.

예를 들어, 단순한 오일러(Euler) 방법부터 4계 룬게-쿠타(Runge-Kutta) 방법, 가변 스텝 크기를 가지는 고급 적분 알고리즘 등 다양한 방법이 존재한다. 수치 방법을 간단히 살펴보면, 1계 미분방정식

$$
\frac{dx(t)}{dt} = f\bigl(t, x(t)\bigr), \quad x(t\_0) = x\_0
$$

를 작은 시간 스텝 $h$마다 적분하여, $x(t\_0 + h) \approx x\_1$, $x(t\_0 + 2h) \approx x\_2$, … 과 같은 점근적 추정을 수행한다. 그 과정에서 사용되는 방법에 따라 수렴정도와 계산 복잡도가 달라지므로, 제어공학에서는 정확도와 계산 효율을 모두 고려해야 한다.

#### 오일러 방법과 간단한 예시

1계 오일러 방법(Euler's method)은 가장 기본적인 수치적 적분 기법이다. 시간 스텝 $h$가 주어졌을 때,

$$
x\_{k+1} = x\_k + h, f\bigl(t\_k, x\_k\bigr)
$$

로 다음 상태 $x\_{k+1}$를 추정한다. 이는 직선 근사에 기반한 간단한 방법이지만, $h$가 충분히 작지 않으면 누적 오차가 빠르게 커진다.

C++ 코드를 간단히 예시하면 다음과 같은 구조를 가질 수 있다.

```cpp
#include <iostream>
#include <cmath>
using namespace std;

// 예시: dx/dt = -x, x(0) = 1
double f(double t, double x) {
    return -x;
}

int main() {
    double x = 1.0;   // 초기 조건
    double t = 0.0;
    double h = 0.1;   // 스텝 크기
    double tEnd = 5.0;

    while(t < tEnd) {
        cout << t << " " << x << endl;
        x = x + h * f(t, x);
        t += h;
    }
    cout << t << " " << x << endl;
    return 0;
}
```

이 코드는 매우 단순화된 형태의 예시이지만, $dx/dt = -x$라는 1계 미분방정식을 오일러 방법으로 근사해 나가는 전형적인 과정을 보여준다. 실제로는 더 정교한 적분 알고리즘(예: Runge-Kutta 4차, Adams-Bashforth, Adams-Moulton 등)을 사용하여 정확도와 안정성을 높인다.

#### 다단계 방법과 Runge-Kutta

Runge-Kutta 계열 기법은 단일 스텝(single-step) 안에서 여러 점에서 기울기를 평가해 가중 평균한 뒤, 이를 통해 업데이트하는 방법이다. 예를 들어 4차 Runge-Kutta(RK4) 기법은 4번의 보조 계산(중간점 기울기 계수)을 통해 고차 정확도를 제공하는 것으로 유명하다.

다단계 방법(multistep method)은 이전 스텝(또는 그 이전 스텝들)의 정보를 활용하여 현재 스텝의 해를 좀 더 효율적으로 추정한다. 일반적으로 다음과 같은 점화형태를 취하며

$$
x\_{k+1} = x\_k + h,\Phi\Bigl(f\_{k+1}, f\_k, f\_{k-1},\dots\Bigr)
$$

여러 과거 기울기 정보를 가중 결합해 $\Phi$를 구성한다. 이는 RK 계열보다 계산량이 적을 수 있지만, 초기조건 설정에 주의해야 하며, 스텝 크기 변화에 더 까다로운 측면이 있다.

#### 비선형 미분방정식과 수치해석

비선형 방정식은 고유치 방식의 단순 해석이 어렵기 때문에, 제어공학에서는 선형화(linearization)나 근사적 모델링을 적극 활용한다. 시스템이 특정 평형점(equilibrium point) 근처에서 작은 진동이나 오차로 거동한다면, 그 주변에서 테일러 전개를 통해 1차 또는 2차 항만 반영하는 식으로 선형 근사를 수행한다.

그러나 완전히 비선형적인 구간까지 포함하여 해석해야 할 경우, 결국 수치해석 방법에 의존해야 한다. 예를 들어 로봇 매니퓰레이터, 항공기 동역학, 비선형 화학공정 등은 실제 운용 구간에서 크게 비선형적 동작을 나타낼 수 있다. 이때는 룬게-쿠타 계열이나 다단계 적분기법 등 일반화된 수치 해석 방법으로 시간영역 해를 구하거나, 시뮬레이션 환경(예: Simulink, Modelica 등)에서 직접 해를 계산하여 얻는다.

#### 부분미분방정식(PDE)과 제어

통상적으로 제어공학 입문에서 다루는 미분방정식은 상미분방정식(ODE)이다. 그러나 실제 물리계의 확장 형태로서 공간좌표까지 포함된 계는 부분미분방정식(PDE) 형태가 된다. 예를 들어 열전달, 유체역학, 탄성계 등에서 공간과 시간이 결합된 편미분방정식이 탄생한다.

제어 영역에서 PDE를 직접 다루는 경우는 적지만, 분산 파이프라인 제어, 분산 파라미터 시스템(distributed parameter system) 등을 해석할 때 PDE를 고려해야 한다. 이때는 모드 전개법(method of separation of variables)이나 갈륨킨(Galerkin) 방법 등을 통해 PDE를 일련의 ODE로 근사화하거나, 적분변환(푸리에 변환, 라플라스 변환 등)을 적용하여 해를 구하기도 한다.

이는 매우 고급 주제에 속하며, 고전적 제어이론 범위를 벗어나 보다 고차원적 해석 영역으로 여겨지지만, 실제 물리계를 보다 정확히 모델링하려면 피할 수 없는 부분이기도 하다.

#### 미분방정식 해석을 위한 소프트웨어 도구

실제 제어 시스템이나 복잡한 물리계의 미분방정식을 해석하기 위해서는, 편리하고 강력한 연산 도구를 활용하는 편이 훨씬 효율적이다. 심지어 해석적 해법이 존재하더라도, 상수나 기호 연산이 복잡하게 얽혀 있으면 사람이 직접 풀기 힘들기 때문이다. 이러한 문제를 해결하기 위한 대표적인 소프트웨어 도구로 MATLAB, Python(특히 NumPy, SciPy, Sympy 등), Mathematica(Wolfram Language), Maple 등이 있다.

예를 들어 MATLAB의 Simulink 환경은 블록선도(block diagram) 방식으로 시스템을 구성하고, 내부적으로 미분방정식을 수치적으로 풀어 동작을 시뮬레이션한다. 제어공학 관점에서 매우 직관적인 도구이며, 전달함수나 상태방정식을 입력하면 자동으로 라플라스 변환, 역변환, 수치적 적분 등을 수행하여 시간을 따르는 응답을 빠르게 계산해 준다. Python 환경에서 SciPy의 odeint, solve\_ivp 등의 함수를 호출하면, 미분방정식을 매우 간단히 기술하는 것만으로도 수치해석 솔버를 사용해 직접 시뮬레이션이 가능하다. Sympy 모듈을 이용하면 해석적(상징적) 솔버를 통해 $x(t)$ 형태의 폐장형(closed-form) 해를 얻을 수도 있다.

Wolfram Mathematica나 Maple 등에서는 더욱 강력하고 풍부한 상징연산(symbolic operation)을 제공한다. 이는 한층 복잡한 미분방정식에 대해서도 실험적으로 풀어보는 시도를 가능하게 하고, 심지어 해석적으로 풀리지 않는 경우라도 라플라스 변환, 급수 해(series solution), 수치 근사해 등을 다각도로 시도할 수 있다.

#### 실제 제어 시스템 모델링 예시

물리계에서 미분방정식을 유도하는 대표적인 예로 질량-스프링-댐퍼(mass-spring-damper) 시스템을 들 수 있다. 질량 $m$인 물체가 스프링 계수 $k$와 댐핑 계수 $c$를 가진 장치에 부착되어 있고, 외력 $F(t)$를 받으며 움직인다고 하자. 움직임을 $x(t)$라 하면, 뉴턴의 제2법칙에 의해

$$
m,\frac{d^2 x(t)}{dt^2} + c,\frac{dx(t)}{dt} + k,x(t) = F(t)
$$

라는 2계 선형 상수계수 미분방정식이 성립한다. 제어공학에서는 이 식을 직접 해석하거나, 상태공간 표현으로 바꾼 뒤 피드백 제어 설계, 주파수 응답 해석, 시간영역 해석 등을 수행한다. 예를 들어 상태변수로 $x\_1(t)=x(t)$, $x\_2(t)=dx(t)/dt$를 정의하면

$$
\begin{pmatrix} \dot{x}\_1(t) \ \dot{x}\_2(t) \end{pmatrix} = \begin{pmatrix} 0 & 1 \ -,\frac{k}{m} & -,\frac{c}{m} \end{pmatrix} \begin{pmatrix} x\_1(t) \ x\_2(t) \end{pmatrix} + \begin{pmatrix} 0 \ \frac{1}{m} \end{pmatrix}F(t).
$$

이를 통해 스프링-댐퍼 시스템에 대한 응답이나 안정성, 고유진동수, 감쇠비 등을 직관적으로 해석할 수 있다.

RC 회로(RC circuit) 역시 자주 예시로 등장한다. 저항 $R$, 커패시터 $C$가 직렬 연결된 회로에 전압 입력 $v\_\mathrm{in}(t)$가 인가되고, 출력 전압을 커패시터 양단 전압 $v\_\mathrm{out}(t)$라고 하면 기본 회로법칙(KCL, KVL 등)을 적용하여

$$
C,\frac{dv\_\mathrm{out}(t)}{dt} + \frac{1}{R},v\_\mathrm{out}(t) = \frac{1}{R},v\_\mathrm{in}(t)
$$

와 같은 1계 선형 미분방정식을 얻을 수 있다. 이를 풀거나, 라플라스 변환으로 옮겨서 전달함수(transfer function)를 구한 뒤에 주파수응답이나 과도응답, 정상상태를 분석한다.

#### 전달함수와 미분방정식의 관계

전달함수(Transfer Function)는 선형 시불변 시스템에서 입력과 출력의 대응관계를 라플라스 영역에서 간편히 표현하기 위한 도구다. 미분방정식을 라플라스 변환하면

$$
\bigl( s^n + a\_{n-1} s^{n-1} + \cdots + a\_1 s + a\_0 \bigr) X(s) = \bigl( b\_{m} s^m + \cdots + b\_1 s + b\_0 \bigr)U(s)
$$

같은 대수방정식 형태로 바뀐다. 이를 정리하면

$$
\frac{X(s)}{U(s)} = \frac{b\_{m} s^m + \cdots + b\_1 s + b\_0}{s^n + a\_{n-1} s^{n-1} + \cdots + a\_1 s + a\_0}
$$

가 되는데, 이 비(比)가 곧 전달함수 $G(s)$이다.

전달함수를 이용하면, 블록선도(block diagram)나 신호 흐름선도(signal flow graph) 분석을 통해 복잡하게 연결된 여러 미분방정식을 한 번에 단순화할 수 있다. 또한 전달함수의 극(pole)과 영점(zero)은 특성방정식(분모 다항식)과 입력/출력의 제로 다항식(분자)와 직결되므로, 시스템의 고유 모드 및 입력 출력 특성을 추상화해서 보는 데 매우 유리하다.

한편 전달함수는 시간영역 상태방정식을 하나로 집약한 결과물이기 때문에, 내부 상태의 차원이나 관측 가능성/제어 가능성을 직접 드러내지는 못한다. 따라서 MIMO 시스템(입출력이 여러 개)이나 시변계, 비선형계로 확장하려면, 전달함수만으로는 부족하고 상태공간 해석이 필수적이다.

#### 미분방정식 기반 제어시스템 설계

PD, PI, PID와 같은 고전적 제어기는 일반적으로 폐루프(closed-loop) 미분방정식을 원하는 형식으로 만들어서, 그 특성(감쇠비, 응답속도, 오버슈트 등)을 설계자가 의도대로 결정하게 한다. 가령

$$
G\_c(s) = K\_p + \frac{K\_i}{s} + K\_d , s
$$

형태의 PID 제어기를 장착했을 때, 폐루프 전달함수(또는 폐루프 미분방정식)의 계수들이 $K\_p, K\_i, K\_d$에 따라 달라진다. 이때 제어 목표(예: 극점 배치, 요구 감쇠비, 응답 시간 등)에 맞춰 파라미터를 조정한다.

상태공간 관점에서는 상태피드백이나 옵저버(observer) 이론 등을 통해 미분방정식을 직접적으로 다룬다. 예컨대 상태방정식

$$
\mathbf{x}'(t) = \mathbf{A,x}(t) + \mathbf{B},u(t)
$$

에서 $u(t) = -\mathbf{K},\mathbf{x}(t)$ 같은 피드백을 걸면, 폐루프 계

$$
\mathbf{x}'(t) = \bigl(\mathbf{A}-\mathbf{B,K}\bigr),\mathbf{x}(t)
$$

의 고유치가 $\mathbf{A-BK}$ 행렬에 의해 결정된다. 이를 원하는 위치(즉 원하는 특성방정식)에 배치(pole placement)하면, 시스템의 미분방정식 해가 사용자가 의도한 동특성을 갖도록 만들 수 있다.

지금까지 살펴본 바와 같이, 미분방정식은 제어공학에서 시스템을 표현하고 해석하는 가장 기본적인 도구다. 선형 상수계수 미분방정식은 해석적 툴과 라플라스 변환, 전달함수, 상태방정식 등의 기법으로 폭넓게 다룰 수 있으며, 비선형성과 시변성, 고차원 시스템 등으로 일반화됨에 따라 더 복잡하고 세련된 기법들이 도입된다.

미분방정식을 정확히 이해하고 다루는 것은, 어떤 물리계가 됐든 제어 대상 시스템의 거동을 파악하고 제어 전략을 수립하는 데 필수적이다. 실제로는 해석적 기법과 수치적 기법을 적절히 병행하여, 복잡한 시스템을 효과적으로 분석하고 설계에 반영하는 과정이 제어공학의 본질이라 할 수 있다.
