Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

ctrb

가제어성 행렬

구문

Co = ctrb(A,B)
Co = ctrb(sys)

설명

Co = ctrb(A,B)는 다음과 같은 가제어성 행렬을 반환합니다.

Co=[BABA2BAn1B]

여기서 A는 n×n 행렬이고 B는 n×m 행렬이며 Co에는 n개의 행과 nm개의 열이 있습니다.

Co = ctrb(sys)는 상태공간 LTI 객체 sys의 가제어성 행렬을 계산합니다. 이 구문은 다음과 동일합니다.

Co = ctrb(sys.A,sys.B);

Co가 완전 랭크 n을 가지면 시스템은 제어 가능합니다.

예제

모두 축소

A 행렬과 B 행렬을 정의합니다.

A = [1  1;
     4 -2];
B = [1 -1;
     1 -1];

가제어성 행렬을 계산합니다.

Co = ctrb(A,B);

제어 불가능한 상태의 개수를 확인합니다.

unco = length(A) - rank(Co)
unco = 1

제어 불가능한 상태는 Co가 완전 랭크 2를 갖지 않음을 나타냅니다. 따라서 이 시스템은 제어 가능하지 않습니다.

제한 사항

가제어성 행렬의 랭크를 추정하는 것은 조건이 나쁩니다. 즉, 반올림 오차와 데이터의 오차에 매우 민감합니다. 다음과 같은 간단한 예제에서 이를 살펴볼 수 있습니다.

A=[1δ01],B=[1δ]

이 쌍은 δ0이면 제어 가능합니다. 그러나 δ<eps이면(여기서 eps는 상대적 기계 정밀도) ctrb(A,B)는 다음을 반환합니다.

[BAB]=[11δδ]

이는 완전 랭크가 아닙니다. 이와 같은 경우에는 ctrbf를 사용하여 시스템의 가제어성을 확인하는 것이 낫습니다.

참고 항목

|

R2006a 이전에 개발됨