상태공간 해석은 시스템의 기억을 상태 벡터로 두고 행렬 미분방정식으로 쓰는 표현이에요. 상태·출력 방정식에서 전달함수를 얻고, 고유값으로 안정도를 읽으며 위상 평면으로 궤적을 봐요. 고차·다변수 제어로 가는 다리예요. 고유값 슬라이더를 바꿔 위상 평면 궤적과 수렴·발산이 어떻게 갈리는지 살펴봐요.
상태변수: 시스템의 '기억'을 수학으로
🔍 왜 상태공간인가?
①전달함수: 입력→출력 관계만 보여줌 → 시스템 "내부"가 보이지 않는다
②상태변수: 시스템의 현재 상태를 완전히 기술하는 최소한의 변수 집합
③비유: 자동차의 위치와 속도를 알면 → 미래 운동을 완전히 예측 가능 (상태 = {위치, 속도})
seegongsik.com
⚡ 상태변수 선택법
①RLC 회로: 커패시터 전압(v_C)과 인덕터 전류(i_L)가 상태변수
②n차 미분방정식 → n개의 상태변수 필요
③상태변수 선택은 유일하지 않다. 다른 선택도 같은 시스템을 표현
상태방정식: 행렬로 표현하는 시스템
상태방정식
ẋ(t) = Ax(t) + Bu(t)
x: 상태벡터(n×1), A: 시스템 행렬(n×n), B: 입력 행렬(n×m), u: 입력벡터(m×1).
출력방정식
y(t) = Cx(t) + Du(t)
C: 출력 행렬(p×n), D: 직접전달 행렬(p×m). 보통 D = 0.
전달함수와의 관계
G(s) = C(sI − A)⁻¹B + D
상태공간 → 전달함수 변환. det(sI−A) = 0이 특성방정식.
🔑 행렬 A가 핵심
①A의 고유값(eigenvalue) = 시스템의 극(pole) = 특성방정식의 근
②모든 고유값의 실수부 < 0 → 안정 (좌반면)
③A의 크기 = 시스템 차수 = 상태변수의 수
위상 평면: 상태 궤적을 눈으로 보다
-1.5
-0.5
seegongsik.com
🔑 고유값과 궤적 패턴
①두 고유값 모두 음수: 안정 노드 → 모든 궤적이 원점으로 수렴
②두 고유값 모두 양수: 불안정 노드 → 모든 궤적이 원점에서 발산
③부호가 다르면: 안장점 → 한 방향은 수렴, 다른 방향은 발산 (불안정)
상태천이행렬과 시스템 응답
상태천이행렬
Φ(t) = eAt = ℒ⁻¹{(sI − A)⁻¹}
자유응답: x(t) = Φ(t)x(0). Φ(0) = I, Φ(t₁+t₂) = Φ(t₁)Φ(t₂).
완전 응답
x(t) = eAtx(0) + ∫₀ᵗ eA(t−τ)Bu(τ)dτ
첫 항: 초기조건에 의한 자유응답, 둘째 항: 입력에 의한 강제응답 (컨볼루션 적분).
💡 가제어성과 가관측성
①가제어성(Controllability): 임의의 초기상태에서 임의의 목표상태로 이동 가능한가?
②판별: rank[B, AB, A²B, ...] = n이면 완전 가제어
③가관측성(Observability): 출력을 관측하여 초기상태를 완전히 결정할 수 있는가?
④판별: rank[C; CA; CA²; ...] = n이면 완전 가관측
총정리
📋 상태공간 핵심 공식 요약
①상태방정식 ẋ=Ax+Bu, 출력방정식 y=Cx+Du: 행렬 A의 고유값이 극점
②상태천이행렬 Φ(t)=e^(At)로 시간 응답을 구하고, G(s)=C(sI-A)⁻¹B+D로 전달함수 변환