Main Content

State-Space

선형 상태공간 시스템 구현

  • 라이브러리:
  • Simulink / Continuous

  • State-Space block

설명

State-Space 블록은 다음과 같이 정의되는 동작을 갖는 시스템을 구현합니다.

x˙=Ax+Buy=Cx+Dux|t=t0=x0,

여기서 x는 상태 벡터, u는 입력 벡터, y는 출력 벡터, x0은 상태 벡터의 초기 조건입니다. A, B, C, D 행렬은 희소 행렬이나 조밀 행렬로 지정할 수 있습니다. 행렬 계수에는 다음과 같은 특성이 있어야 합니다.

  • A는 n×n 행렬이어야 합니다. 여기서 n은 상태 개수입니다.

  • B는 n×m 행렬이어야 합니다. 여기서 m은 입력 개수입니다.

  • C는 r×n 행렬이어야 합니다. 여기서 r은 출력 개수입니다.

  • D는 r×m 행렬이어야 합니다.

일반적으로 블록은 하나의 입력 포트와 하나의 출력 포트를 갖습니다. C 행렬 또는 D 행렬의 행 개수는 출력 포트의 너비와 동일합니다. B 행렬 또는 D 행렬의 열 개수는 입력 포트의 너비와 동일합니다. 입력이 없는 자율 선형 시스템을 모델링하려면 B 행렬과 D 행렬을 빈 행렬로 설정합니다. 이 경우 블록은 입력 포트가 없고 출력 포트가 하나인 소스 블록 역할을 하며 다음과 같은 시스템을 구현합니다.

x˙=Axy=Cxx|t=t0=x0.

Simulink®는 효율적인 곱셈을 위해 0이 포함된 행렬을 희소 행렬로 변환합니다.

포트

입력

모두 확장

double형의 실수 값 입력 벡터로, 너비가 B 행렬과 D 행렬의 열 개수와 같습니다. 자세한 내용은 설명 항목을 참조하십시오.

데이터형: double

출력

모두 확장

double형의 실수 값 출력 벡터로, 너비가 C 행렬과 D 행렬의 행 개수와 같습니다. 자세한 내용은 설명 항목을 참조하십시오.

데이터형: double

파라미터

모두 확장

행렬 계수 A를 실수 값 n×n 행렬로 지정합니다. 여기서 n은 상태 개수입니다. 행렬 계수에 대한 자세한 내용은 설명 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: A
유형: 문자형 벡터, string형
값: 스칼라 | 벡터 | 행렬 | 희소 행렬
디폴트 값: '1'

행렬 계수 B를 실수 값 n×m 행렬로 지정합니다. 여기서 n은 상태 개수이고 m은 입력 개수입니다. 행렬 계수에 대한 자세한 내용은 설명 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: B
유형: 문자형 벡터, string형
값: 스칼라 | 벡터 | 행렬 | 희소 행렬
디폴트 값: '1'

행렬 계수 C를 실수 값 r×n 행렬로 지정합니다. 여기서 r은 출력 개수이고 n은 상태 개수입니다. 행렬 계수에 대한 자세한 내용은 설명 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: C
유형: 문자형 벡터, string형
값: 스칼라 | 벡터 | 행렬 | 희소 행렬
디폴트 값: '1'

행렬 계수 D를 실수 값 r×m 행렬로 지정합니다. 여기서 r은 출력 개수이고 m은 입력 개수입니다. 행렬 계수에 대한 자세한 내용은 설명 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: D
유형: 문자형 벡터, string형
값: 스칼라 | 벡터 | 행렬 | 희소 행렬
디폴트 값: '1'

초기 상태 벡터를 지정합니다.

제한 사항

이 블록의 초기 조건은 inf 또는 NaN일 수 없습니다.

프로그래밍 방식의 사용법

블록 파라미터: X0
유형: 문자형 벡터, string형
값: 스칼라 | 벡터
디폴트 값: '0'

가속화된 시뮬레이션 모드 및 Simulink Compiler™를 사용하여 배포된 시뮬레이션에서 상태공간 행렬(A, B, C, D)의 조정 가능성 수준입니다. 자동으로 설정된 경우 Simulink가 적절한 파라미터 조정 가능성 수준을 선택합니다.

희소 행렬 계수의 경우, 0이 아닌 요소의 패턴과 개수를 일정하게 유지하면서 0이 아닌 요소의 조정 가능성을 허용하려면 파라미터를 최적화됨으로 설정하십시오. 0이 아닌 요소의 개수가 일정하게 유지되는 한 모든 요소를 조정 가능하도록 허용하려면 이 파라미터를 제약 없음으로 설정하십시오. 즉, 희소 행렬의 패턴을 변경할 수 있습니다.

조밀 행렬 계수의 경우, 행렬에 처음에 지정했던 0이 아닌 요소의 개수가 일정하게 유지된다는 가정 하에 모든 행렬 요소의 조정 가능성을 허용하려면 최적화됨을 선택하십시오. 모든 행렬 요소의 조정 가능성을 완전히 허용하려면 이 파라미터를 제약 없음으로 설정하십시오.

참고

D = 0일 때 블록의 D 행렬을 조정하려면 처음에 0으로 지정했던 D 행렬에 0이 아닌 값 허용 파라미터를 활성화해야 합니다.

프로그래밍 방식의 사용법

블록 파라미터: ParameterTunability
유형: 문자형 벡터 | string형
값: 'Auto' | 'Optimized' | 'Unconstrained'
디폴트 값: 'Auto'

D = 0일 때에도 D의 조정 가능성을 지원하려면 이 파라미터를 활성화합니다.

참고

이 파라미터를 활성화하면 State-Space 블록에 대한 직접 피드스루가 활성화됩니다.

프로그래밍 방식의 사용법

블록 파라미터: AllowTunableDMatrix
유형: 문자형 벡터 | string형
값: 'off' | 'on'
디폴트 값: 'off'

블록 상태 계산을 위한 절대 허용오차로, 양의 실수 값 스칼라 또는 벡터로 지정됩니다. 구성 파라미터에서 절대 허용오차를 상속하려면 auto 또는 -1을 지정하십시오.

  • 실수형 스칼라를 입력하면 모든 블록 상태를 계산할 때 구성 파라미터 대화 상자의 절대 허용오차가 이 값으로 재정의됩니다.

  • 실수형 벡터를 입력하면 해당 벡터의 차원이 블록의 연속 상태 차원과 일치해야 합니다. 구성 파라미터 대화 상자의 절대 허용오차가 이 값으로 재정의됩니다.

  • auto 또는 –1을 입력하면 Simulink는 구성 파라미터 대화 상자(Solver Pane 참조)의 절대 허용오차 값을 사용하여 블록 상태를 계산합니다.

프로그래밍 방식의 사용법

블록 파라미터: AbsoluteTolerance
유형: 문자형 벡터, string형
값: 'auto' | '-1' | 임의의 양의 실수 값 스칼라 또는 벡터
디폴트 값: 'auto'

각 상태에 고유한 이름을 할당합니다. 이 필드가 비어 있으면(' ') 이름 할당이 발생하지 않습니다.

  • 하나의 상태에 이름을 할당하려면 따옴표 사이에 이름을 입력하십시오(예: 'position').

  • 여러 상태에 이름을 할당하려면 쉼표로 구분된 목록을 중괄호로 묶어서 입력하십시오(예:{'a', 'b', 'c'}). 각 이름은 고유해야 합니다.

  • MATLAB® 작업 공간에서 상태 이름을 변수로 할당하려면 따옴표 없이 변수를 입력합니다. 변수는 문자형 벡터, string형, 셀형 배열 또는 구조체일 수 있습니다.

제한 사항

  • 상태 이름은 선택된 블록에만 적용됩니다.

  • 상태의 개수는 상태 이름의 개수 간에 균등하게 나뉘어야 합니다.

  • 상태보다 이름을 더 적게 지정할 수 있지만 상태보다 이름을 더 많이 지정할 수는 없습니다.

    예를 들어, 상태가 4개 있는 시스템에서 2개의 이름을 지정할 수 있습니다. 첫 번째 이름은 처음 두 상태에 적용되고 두 번째 이름은 마지막 두 상태에 적용됩니다.

프로그래밍 방식의 사용법

블록 파라미터: ContinuousStateAttributes
유형: 문자형 벡터, string형
값: ' ' | 사용자 정의
디폴트 값: ' '

블록 특성

데이터형

double

직접 피드스루

yes

다차원 신호

no

가변 크기 신호

no

영점교차 검출

no

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

|

도움말 항목