Main Content

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

obsv

상태공간 모델의 가관측성

    설명

    시스템의 출력에서 모든 상태를 알 수 있는 동적 시스템을 관측 가능하다고 말합니다. obsv는 상태 행렬 또는 상태공간 모델에서 가관측성 행렬을 계산합니다. 이 행렬을 사용하여 가관측성을 확인할 수 있습니다.

    예를 들어 Nx개의 상태, Ny개의 출력, Nu개의 입력이 있는 연속시간 상태공간 모델이 있다고 가정하겠습니다.

    x˙=Ax+Buy=Cx+Du

    여기서 x, u, y는 각각 상태, 입력, 출력을 나타내며 A, B, C, D는 다음과 같은 크기의 상태공간 행렬입니다.

    • ANx×Nx 실수 값 또는 복소수 값 행렬입니다.

    • BNx×Nu 실수 값 또는 복소수 값 행렬입니다.

    • CNy×Nx 실수 값 또는 복소수 값 행렬입니다.

    • DNy×Nu 실수 값 또는 복소수 값 행렬입니다.

    obsv Ob=[CCACA2  :CAn1]에 의해 생성된 가관측성 행렬이 완전 랭크를 갖는 경우, 즉 랭크가 상태공간 모델의 상태 수와 같은 경우 시스템은 관측 가능합니다. 가관측성 행렬 Ob에는 Nx개의 행과 Nxy개의 열이 있습니다. 예제는 SISO 상태공간 모델의 가관측성 항목을 참조하십시오.

    예제

    Ob = obsv(A,C)는 상태 행렬 A와 상태-출력 행렬 C를 사용하여 가관측성 행렬 Ob를 반환합니다. Ob가 완전 랭크를 갖는 경우, 즉 Ob의 랭크가 상태 수와 같은 경우 시스템은 관측 가능합니다.

    예제

    Ob = obsv(sys)는 상태공간 모델 sys의 가관측성 행렬을 반환합니다. 이 구문은 다음과 동일합니다.

    Ob = obsv(sys.A,sys.C);

    예제

    모두 축소

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

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

    가관측성 행렬을 계산합니다.

    Ob = obsv(A,C);

    관측 불가능한 상태의 수를 확인합니다.

    unobsv = length(A) - rank(Ob)
    unobsv = 1
    

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

    이 예제에서는 2개의 상태를 갖는 다음 SISO 상태공간 모델이 있다고 가정하겠습니다.

    A=[-1.5-210]B=[0.50]C=[01]D=1SISO State-Space Model

    다음 상태공간 행렬로 정의된 SISO 상태공간 모델을 만듭니다.

    A = [-1.5,-2;1,0];
    B = [0.5;0];
    C = [0,1];
    D = 1;
    sys = ss(A,B,C,D);

    가관측성 행렬을 계산하고 랭크를 구합니다.

    Ob = obsv(sys)
    Ob = 2×2
    
         0     1
         1     0
    
    

    가관측성 행렬의 크기는 A 행렬과 C 행렬의 크기에 따라 다릅니다. 예를 들어 행렬 A가 Nx×Nx 행렬이고 행렬 CNx×Ny 행렬인 경우, 결과 행렬 Ob에는 Nx개의 행과 Nxy개의 열이 있습니다. 여기서 Nx는 상태의 개수이고 Ny는 출력의 개수입니다.

    rank(Ob)
    ans = 2
    

    가관측성 행렬 Ob의 랭크가 상태의 개수와 같으므로 시스템 sys는 관측 가능합니다.

    또는 A 행렬과 C 행렬만 사용하여 가관측성 행렬을 찾을 수도 있습니다.

    Ob = obsv(sys.A,sys.C);
    rank(Ob)
    ans = 2
    

    입력 인수

    모두 축소

    상태 행렬로, Nx×Nx 행렬로 지정됩니다. 여기서 Nx는 상태의 개수입니다.

    상태-출력 행렬로, Ny×Nx 행렬로 지정됩니다. 여기서 Nx는 상태의 개수이고 Ny는 출력의 개수입니다.

    상태공간 모델 또는 모델 배열로, 다음과 같이 지정됩니다.

    • 상태공간 모델(ss) 객체: 입력 A, B, C, D가 숫자형 행렬이거나 다른 모델 객체 유형에서 변환하는 경우.

    • 일반화된 상태공간 모델(genss) 객체: 하나 이상의 행렬 A, B, C, D에 조정 가능한 파라미터(예: realp 파라미터) 또는 일반화된 행렬(genmat)이 포함된 경우. 이 함수는 조정 가능형 파라미터에 대해 현재 값을 사용합니다.

    • 불확실한 상태공간 모델(uss) 객체: 하나 이상의 입력 A, B, C , D에 불확실한 행렬이 포함된 경우. 이 함수는 불확실한 파라미터에 대해 공칭 값을 사용합니다. 불확실 모델을 사용하려면 Robust Control Toolbox™가 필요합니다.

    출력 인수

    모두 축소

    가관측성 행렬로, 배열로 반환됩니다. sys가 다음과 같은 경우입니다.

    • Nx개의 상태와 Ny개의 출력이 있는 단일 상태공간 모델인 경우 결과 배열 Ob에는 Nx개의 행과 Nxy개의 열이 있습니다.

    • 상태공간 모델로 구성된 배열 sys(:,:,j1,...,jN)인 경우 ObN+2 차원의 배열, 즉 Ob(:,:,j1,...,jN)입니다.

    제한 사항

    • 가관측성을 테스트하기 위해 가관측성 행렬의 랭크를 계산하는 것은 권장되지 않으므로 obsv는 제어 설계에 권장되지 않습니다. Ob는 상태 개수가 어느 정도 이상인 대부분의 시스템에서 수치적 특이성을 갖습니다. 이 사실은 [1]의 섹션 III에 잘 설명되어 있습니다.

    참고 문헌

    [1] Paige, C. C. "Properties of Numerical Algorithms Related to Computing Controllability." IEEE Transactions on Automatic Control. Vol. 26, Number 1, 1981, pp. 130-138.

    버전 내역

    R2006a 이전에 개발됨