Main Content

모델 축소기

LTI(선형 시불변) 모델의 복잡도 축소

설명

모델 축소기 앱을 사용하면 높은 차수의 LTI 모델 및 희소 LTI 모델에 대해 축소된 차수 근사를 계산할 수 있습니다. 낮은 차수의 모델로 작업하면 분석 및 제어 설계를 단순화할 수 있습니다. 또한 모델이 단순할수록 이해하고 조작하기가 더 쉽습니다. 플랜트에 사용할 제어기를 설계하기 전에, 관련 동특성에 집중하기 위해 플랜트 모델을 축소할 수 있습니다. 또는 모델 축소를 통해 전차수 제어기를 단순화할 수 있습니다.

모델 축소기에서 다음 방법을 사용해 응용 사례에서 중요시되는 모델 특성을 보존하면서도 모델 차수를 축소할 수 있습니다.

  • 균형 절단 — 에너지 기여가 상대적으로 적은 상태를 제거합니다.

  • 모드 절단 — 모드의 위치 또는 DC 기여에 따라 모드를 삭제합니다.

  • 극점-영점 단순화 — 상쇄하거나 거의 상쇄하는 극점-영점 쌍을 제거합니다.

모델 축소기는 차수가 축소된 모델이 중요한 동특성을 보존하는지 확인하는 데 도움이 되도록 응답 플롯과 오차 플롯을 제공합니다. 모델 축소와 모델 축소가 유용한 이유에 대한 자세한 내용은 Model Reduction Basics 항목을 참조하십시오.

모델 축소기 앱의 대체 방법으로 대화형 방식으로 모델 축소를 수행하고 라이브 스크립트를 위한 코드를 생성할 수 있는 방법에 대한 내용은 라이브 편집기에서의 Reduce Model Order 작업을 참조하십시오.

Model Reducer app

모델 축소기 앱 열기

  • MATLAB® 툴스트립: 탭의 제어 시스템 설계 및 분석 아래에서 앱 아이콘을 클릭합니다.

  • MATLAB 명령 프롬프트: modelReducer를 입력합니다.

파라미터

모두 확장

균형 절단 탭

축소할 모델을 모델 드롭다운 목록에서 선택하여 지정합니다. 목록에는 현재 데이터 브라우저에 있는 모든 모델이 들어 있습니다. MATLAB 작업 공간에서 데이터 브라우저로 모델을 가져오려면 모델 축소기 탭에서 모델 가져오기를 클릭하십시오. 다음과 같은 모델을 가져올 수 있습니다.

  • 적정 tf, ss 또는 zpk 모델. SISO 또는 MIMO 모델이거나 연속 또는 이산 모델일 수 있습니다.

    • 연속시간 모델은 시간 지연을 갖지 않아야 합니다. 시간 지연을 갖는 연속시간 모델을 축소하려면 먼저 pade를 사용해 시간 지연을 모델 동특성으로 근사하십시오.

    • 이산시간 모델은 시간 지연을 가질 수 있습니다. 균형 절단 축소 방법을 사용할 경우 앱은 모델 축소 전에 absorbDelay를 사용해 지연을 z = 0에 있는 극점으로 변환합니다. 응답 플롯과 한켈 특이값 플롯에 추가 상태가 반영됩니다.

  • 일반화된 모델(예: genss 모델). 모델 축소기 앱은 model에 있는 모든 제어 설계 블록의 현재 값 또는 공칭 값을 사용합니다(getValue 참조).

  • 희소 상태공간 모델(예: sparssmechss 모델).

참고

모델 축소기는 모델 시간 단위(모델의 TimeUnit 속성에 지정됨)가 초 단위라고 가정합니다. 모델의 시간 단위가 TimeUnit = 'seconds'가 아닌 경우 chgTimeUnit을 사용해 모델을 초 단위로 변환하십시오.

모델 차수 축소 기준을 지정합니다. 모델의 불안정 상태 개수와 원래 모델의 상태 개수 사이의 값이라면 모두 허용됩니다. 단일 값을 지정할 경우 모델 축소기는 해당 차수의 모델의 응답을 계산하여 표시합니다. 여러 값을 지정할 경우 모델 축소기는 지정된 모든 차수의 모델을 계산하여 동일한 플롯에 응답을 표시합니다. 축소된 모델을 데이터 브라우저에 저장하려면 축소 모델 저장을 클릭합니다.

자세한 내용은 Balanced Truncation Model Reduction 항목을 참조하십시오.

비교 플롯 유형을 지정합니다.

  • 모델 응답 — 모델 주파수 응답을 플로팅합니다. 이러한 주파수 응답 비교는 SISO 모델의 경우 보드 플롯이고 MIMO 모델의 경우 특이값 플롯입니다.

  • 절대 오차 플롯 — 절대 오차 GGr의 주파수 응답을 플로팅합니다.

  • 상대 오차 플롯 — 상대 오차 G1(GGr)의 주파수 응답을 플로팅합니다.

자세한 내용은 Balanced Truncation Model Reduction 항목을 참조하십시오.

분석 플롯 유형을 지정합니다.

  • 한켈 특이값 — 한켈 특이값 및 관련된 오차 범위의 막대 차트.

  • 에너지 — 정규화된 상태 에너지의 막대 차트.

모드 절단 탭

축소할 모델을 모델 드롭다운 목록에서 선택하여 지정합니다. 목록에는 현재 데이터 브라우저에 있는 모든 모델이 들어 있습니다. MATLAB 작업 공간에서 데이터 브라우저로 모델을 가져오려면 모델 축소기 탭에서 모델 가져오기를 클릭하십시오. 다음과 같은 모델을 가져올 수 있습니다.

  • 적정 tf, ss 또는 zpk 모델. SISO 또는 MIMO 모델이거나 연속 또는 이산 모델일 수 있습니다.

    • 연속시간 모델은 시간 지연을 갖지 않아야 합니다. 시간 지연을 갖는 연속시간 모델을 축소하려면 먼저 pade를 사용해 시간 지연을 모델 동특성으로 근사하십시오.

    • 이산시간 모델은 시간 지연을 가질 수 있습니다. 균형 절단 축소 방법을 사용할 경우 앱은 모델 축소 전에 absorbDelay를 사용해 지연을 z = 0에 있는 극점으로 변환합니다. 응답 플롯과 한켈 특이값 플롯에 추가 상태가 반영됩니다.

  • 일반화된 모델(예: genss 모델). 모델 축소기 앱은 model에 있는 모든 제어 설계 블록의 현재 값 또는 공칭 값을 사용합니다(getValue 참조).

  • 희소 상태공간 모델(예: sparssmechss 모델).

자세한 내용은 Modal Truncation Model Reduction 항목을 참조하십시오.

참고

모델 차수 축소에서는 모델 시간 단위(모델의 TimeUnit 속성에 지정됨)가 초 단위라고 가정합니다. 모델의 시간 단위가 TimeUnit = 'seconds'가 아닌 경우 chgTimeUnit을 사용해 모델을 초 단위로 변환하십시오.

관심 주파수 범위로, [Fmin,Fmax] 형식의 벡터로 지정됩니다. 이 알고리즘은 이 범위 밖에 있는 모든 모드를 삭제합니다.

관심 감쇠 범위로, [ζminmax] 형식의 벡터로 지정됩니다. 이 알고리즘은 이 범위 밖에 있는 모든 모드를 삭제합니다.

차수 축소 모델에 대한 최소 DC 기여 범위로, 음이 아닌 스칼라로 지정됩니다. 이 알고리즘은 이 값보다 작은 정규화된 DC 기여를 가진 모든 모드를 삭제합니다.

비교 플롯 유형을 지정합니다.

  • 모델 응답 — 모델 주파수 응답을 플로팅합니다. 이러한 주파수 응답 비교는 SISO 모델의 경우 보드 플롯이고 MIMO 모델의 경우 특이값 플롯입니다.

  • 절대 오차 플롯 — 절대 오차 GGr의 주파수 응답을 플로팅합니다.

  • 상대 오차 플롯 — 상대 오차 G1(GGr)의 주파수 응답을 플로팅합니다.

  • 모드 위치 — 원래 모델과 축소된 모델의 극점 위치를 비교합니다.

비교 플롯 유형을 지정합니다.

  • DC 기여 — 정규화된 DC 기여의 막대 차트.

  • 모드 위치 — 극점의 위치를 플로팅합니다.

  • 모드 감쇠와 고유 주파수 — 극점의 감쇠와 고유 주파수를 플로팅합니다.

극점-영점 단순화 탭

축소할 모델을 모델 드롭다운 목록에서 선택하여 지정합니다. 목록에는 현재 데이터 브라우저에 있는 모든 모델이 들어 있습니다. MATLAB 작업 공간에서 데이터 브라우저로 모델을 가져오려면 모델 축소기 탭에서 모델 가져오기를 클릭하십시오. 다음과 같은 모델을 가져올 수 있습니다.

  • 적정 tf, ss 또는 zpk 모델. SISO 또는 MIMO 모델이거나 연속 또는 이산 모델일 수 있습니다.

    • 연속시간 모델은 시간 지연을 갖지 않아야 합니다. 시간 지연을 갖는 연속시간 모델을 축소하려면 먼저 pade를 사용해 시간 지연을 모델 동특성으로 근사하십시오.

    • 이산시간 모델은 시간 지연을 가질 수 있습니다. 균형 절단 축소 방법을 사용할 경우 앱은 모델 축소 전에 absorbDelay를 사용해 지연을 z = 0에 있는 극점으로 변환합니다. 응답 플롯과 한켈 특이값 플롯에 추가 상태가 반영됩니다.

  • 일반화된 모델(예: genss 모델). 모델 축소기 앱은 model에 있는 모든 제어 설계 블록의 현재 값 또는 공칭 값을 사용합니다(getValue 참조).

슬라이더를 사용하거나 텍스트 상자에 값을 입력하여 극점-영점 상쇄에 대한 허용오차를 설정합니다. 이 값에 따라, 모델 축소기가 축소된 모델에서 극점과 영점을 제거하려면 극점과 영점이 얼마나 가까워야 하는지가 결정됩니다. 슬라이더를 왼쪽으로 움직이거나 텍스트 상자에 더 작은 값을 입력하면 더 적은 수의 극점과 영점이 상쇄되기 때문에 모델이 덜 단순화됩니다. 슬라이더를 오른쪽으로 움직이거나 더 큰 값을 입력하면 더 멀리 떨어진 극점과 영점이 상쇄되기 때문에 모델이 더 단순화됩니다.

자세한 내용은 Pole-Zero Simplification 항목을 참조하십시오.

비교 플롯 유형을 지정합니다.

  • 모델 응답 — 모델 주파수 응답을 플로팅합니다. 이러한 주파수 응답 비교는 SISO 모델의 경우 보드 플롯이고 MIMO 모델의 경우 특이값 플롯입니다.

  • 절대 오차 플롯 — 절대 오차 GGr의 주파수 응답을 플로팅합니다.

  • 상대 오차 플롯 — 상대 오차 G1(GGr)의 주파수 응답을 플로팅합니다.

프로그래밍 방식으로 사용

모두 확장

modelReducer는 데이터 브라우저에 모델이 표시되지 않은 상태로 모델 축소기 앱을 엽니다. MATLAB 작업 공간에서 모델을 가져오려면 모델 가져오기를 클릭하십시오.

modelReducer(model)은 앱을 열고 지정된 LTI 모델을 가져옵니다. model은 다음일 수 있습니다.

  • 적정 tf, ss 또는 zpk 모델. SISO 또는 MIMO 모델이거나 연속 또는 이산 모델일 수 있습니다.

    • 연속시간 모델은 시간 지연을 갖지 않아야 합니다. 시간 지연을 갖는 연속시간 모델을 축소하려면 먼저 pade를 사용해 시간 지연을 모델 동특성으로 근사하십시오.

    • 이산시간 모델은 시간 지연을 가질 수 있습니다. 균형 절단 축소 방법을 사용할 경우 앱은 모델 축소 전에 absorbDelay를 사용해 지연을 z = 0에 있는 극점으로 변환합니다. 응답 플롯과 한켈 특이값 플롯에 추가 상태가 반영됩니다.

  • 일반화된 모델(예: genss 모델). 모델 축소기 앱은 model에 있는 모든 제어 설계 블록의 현재 값 또는 공칭 값을 사용합니다(getValue 참조).

  • 희소 상태공간 모델(예: sparssmechss 모델).

modelReducer(model1,...,modelN)은 앱을 열고 지정된 모델을 가져옵니다.

modelReducer(sessionFile)은 앱을 열고 이전에 저장된 세션을 불러옵니다. sessionFile은 현재 작업 디렉터리 또는 MATLAB 경로에 있는 세션 데이터 파일의 이름입니다.

디스크에 세션 데이터를 저장하려면 모델 축소기 앱의 모델 축소기 탭에서 세션 저장을 클릭하십시오. 저장된 세션 데이터에는 현재 플롯 구성과 데이터 브라우저에 있는 모든 모델이 포함됩니다.

버전 내역

R2016a에 개발됨

모두 확장

참고 항목

함수

라이브 편집기 작업