모델 차수 축소하기
모델 차수 축소 명령
다음 표에 나와 있는 명령을 사용하여 차수가 축소된 SISO 및 MIMO 모델을 도출할 수 있습니다.
모델 차수 축소 기법
모델의 차수를 축소하려면 다음 동작 중 하나를 수행하면 됩니다.
sminreal을 사용하여 입력 또는 출력에서 구조적으로 연결 해제된 상태를 제거합니다.구조적으로 연결 해제된 상태를 제거하는 것은 비용이 적게 드는 절차이고 수치적 계산을 수반하지 않으므로 모델 축소의 첫 단계로 적합합니다.
balred를 사용하여 모델의 저차 근사를 계산합니다.minreal을 사용하여 소거되는 극점-영점을 제거합니다.
예제: 기화 장치 모델
이 예제에서는 고체 물질을 기체로 변환하는 장치인 기화 장치 모델을 사용합니다. 원래의 모델은 비선형 모델입니다.
모델 불러오기
모델의 선형화된 버전을 불러오려면 다음 명령을
load ltiexamples
MATLAB® 프롬프트에 입력합니다. 기화 장치 예제는 gasf라는 변수에 저장되어 있습니다. 다음을 입력하는 경우
size(gasf)
다음이 반환됩니다.
State-space model with 4 outputs, 6 inputs, and 25 states.
SISO 모델 차수 축소
MIMO 모델 차수 축소에 설명된 전체 MIMO 모델의 축소를 시도하기에 앞서 단일 I/O 쌍의 차수를 축소하여 모델 축소 툴이 어떻게 작동하는지 알아볼 수 있습니다.
이 예제에서는 기화 장치의 입력 5에서 출력 3으로의 단일 입력/출력 쌍을 집중적으로 살펴봅니다.
sys35 = gasf(3,5);
모델 차수 축소를 시도하기에 앞서 다음을 입력하여 극점 및 영점 위치를 검토합니다.
pzmap(sys35)
결과로 나타나는 플롯의 원점 근처를 확대하려면 확대/축소 기능을 사용하거나 다음을 입력하십시오.
axis([-0.2 0.05 -0.2 0.2])
다음 Figure가 결과를 보여줍니다.
기화 장치 모델의 극점-영점 맵(확대됨)

모델이 극점-영점 상쇄에 근사한 결과를 보여주므로 이 맵은 모델 축소에 적합합니다.
이 SISO 모델의 저차 축소를 찾으려면 다음 단계를 수행하십시오.
한켈 특이값(HSV) 플롯을 사용하여 상태당 상대 에너지량을 검토하여 축소된 시스템의 적절한 차수를 선택합니다. 다음 명령을 입력하여
HSV 플롯을 만듭니다.hsvd(sys35)
마우스 오른쪽 버튼으로 클릭하여 표시되는 메뉴를 사용하여 로그 스케일로 변경하면 다음 플롯이 표시됩니다.

작은 한켈 특이값은 해당 상태가 I/O 동작에 거의 영향을 미치지 않음을 나타냅니다. 이 플롯은 마지막 10개의 상태(가장 작은 10개의 한켈 특이값에 해당)를 버려도 근사오차에 미치는 영향이 미미함을 보여줍니다.
마지막 10개의 상태를 제거하고 15차 근사를 만들려면 다음을 입력합니다.
rsys35 = balred(sys35,15);
size(rsys35)를 입력하여 축소된 시스템에 15개의 상태만 포함된 것을 볼 수 있습니다.bode 명령을 사용하여 전체 차수 모델과 차수가 축소된 모델의 보드 응답을 비교합니다.
다음 Figure가 결과를 보여줍니다.bode(sys35,'b',rsys35,'r--')

Figure의 곡선이 겹치는 것을 통해 알 수 있듯이 축소된 모델은 원래 시스템을 적절하게 근사합니다.
이 절차를 반복하여 더 많은 상태를 제거함으로써 추가로 모델 차수를 축소해 볼 수 있습니다. 다음 명령을 입력하여 gasf 모델을 각각 5차, 10차, 15차로 한 번에 축소합니다.
rsys35 = balred(sys35,[5 10 15]);
bode(sys35,'b',rsys35,'r--')

차수가 줄어들수록 오차가 늘어나는 것을 확인할 수 있습니다.
MIMO 모델 차수 축소
다음과 같이 SISO 모델의 경우와 동일한 단계를 사용하여 MIMO 모델을 근사할 수 있습니다.
한켈 특이값(HSV) 플롯을 사용하여 상태당 상대 에너지량을 검토하여 축소된 시스템의 적절한 차수를 선택합니다.
다음을 입력하면
HSV 플롯을 만듭니다.hsvd(gasf)

(가장 작은 8개의 한켈 특이값에 해당하는) 마지막 8개의 상태를 버려도 결과로 생성되는 17차 시스템의 오차에 미치는 영향은 미미할 것입니다.
마지막 8개의 상태를 제거하고 17차 MIMO 시스템을 만들려면 다음을 입력합니다.
rsys=balred(gasf,17);
size(gasf)를 입력하여 축소된 시스템에 17개의 상태만 포함된 것을 볼 수 있습니다.근사오차를 시각적으로 검토하려면 MIMO 보드 플롯 대신 특이값 플롯을 사용합니다. 다음을 입력하면
원래 시스템과 축소 오차를 비교하는 특이값 플롯을 만듭니다.sigma(gasf,'b',gasf-rsys,'r')

원래 시스템과 비교했을 때 축소 오차가 작으므로 차수가 축소된 모델은 원래 모델을 적절하게 근사합니다.
감사의 글
MathWorks®는 이 예제에서 기화 장치 모델 사용을 허락해 주신 ALSTOM® Power UK에 감사드립니다. 이 모델은 기화 장치 제어에 대한 ALSTOM Benchmark Challenge의 일환으로 공개되었습니다. 자세한 내용은 Dixon, R., (1999), "Advanced Gasifier Control," Computing & Control Engineering Journal, IEE, Vol. 10, No. 3, pp. 92–96을 참조하십시오.