주요 콘텐츠

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

lyap

연속시간 랴푸노프 방정식 풀기

설명

lyap를 사용하여 랴푸노프 방정식의 특수 형식과 일반 형식을 풉니다. 랴푸노프 방정식은 안정성 이론, 시스템의 RMS(제곱평균제곱근) 동작 연구와 같은 제어의 여러 분야에서 대두됩니다.

X = lyap(A,Q)는 랴푸노프 방정식 AX+XAT+Q=0의 해를 반환합니다. 여기서 AQ는 동일한 크기의 정사각 행렬을 나타냅니다. Q가 대칭 행렬인 경우 해 X도 대칭 행렬입니다.

예제

X = lyap(A,B,C)는 실베스터 방정식 AX+XB+C=0의 해를 반환합니다. 여기서 입력값 A는 m×m 행렬이고, 입력값 B는 n×n 행렬이며, CX는 모두 m×n 행렬입니다.

예제

X = lyap(A,Q,[],E)는 일반화된 랴푸노프 방정식 AXET+EXAT+Q=0을 풉니다. 여기서 Q는 대칭 행렬입니다. 이 구문에는 빈 대괄호 []을 사용해야 합니다. 괄호 안에 값을 넣으면 함수가 오류를 반환합니다.

예제

예제

모두 축소

이 예제에서는 랴푸노프 방정식을 푸는 방법을 보여줍니다.

AX+XAT+Q=0,

여기서

A=[12-3-4]Q=[3111]입니다.

A 행렬은 안정적이고 Q 행렬은 양의 정부호입니다.

행렬을 정의합니다.

A = [1 2; -3 -4];  
Q = [3 1; 1 1];

랴푸노프 방정식을 풀기 위해 lyap 함수를 사용합니다.

X = lyap(A,Q)
X = 2×2

    6.1667   -3.8333
   -3.8333    3.0000

이 함수는 대칭 행렬 X를 반환합니다. X가 양의 정부호 행렬인지 확인하기 위해 고유값을 계산할 수 있습니다.

eig(X)
ans = 2×1

    0.4359
    8.7308

해는 양의 정부호 행렬입니다.

이 예제에서는 실베스터 방정식을 푸는 방법을 보여줍니다.

AX+XB+C=0,

여기서 A=5, B=[4333], C=[21]입니다.

행렬을 정의합니다.

A = 5;
B = [4 3; 3 3];
C = [2 1];

lyap 함수를 사용하여 A, B, C의 이러한 값에 대한 실베스터 방정식을 풉니다.

X = lyap(A,B,C)
X = 1×2

   -0.2063   -0.0476

결과는 1×2 행렬입니다.

이 예제에서는 일반화된 랴푸노프 방정식 AXET+EXAT+Q=0을 푸는 방법을 보여줍니다.

난수 값으로 구성된 행렬 AE를 생성합니다.

rng(0)
A = rand(2)
A = 2×2

    0.8147    0.1270
    0.9058    0.9134

E = randn(2)
E = 2×2

    0.3188   -0.4336
   -1.3077    0.3426

복소수 값으로 구성된 대칭 Q 행렬을 생성합니다.

Q = complex(randn(2),randn(2));
Q = Q*Q'
Q = 2×2 complex

  15.6642 + 0.0000i   5.6211 + 4.1271i
   5.6211 - 4.1271i  16.9265 + 0.0000i

일반화된 랴푸노프 방정식을 풉니다.

X = lyap(A,Q,[],E)
X = 2×2 complex

  -2.0000 + 0.0000i  19.6841 - 3.6552i
  19.6841 + 3.6552i  20.9934 + 0.0000i

X는 2×2 대칭 행렬입니다.

입력 인수

모두 축소

입력 행렬로, 다음 크기의 행렬로 지정됩니다.

  • A, Q, Em×m 정사각 행렬

  • Bn×n 행렬

  • Cm×n 행렬

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
복소수 지원 여부:

출력 인수

모두 축소

해로, 행렬로 반환됩니다. 랴푸노프 방정식의 경우 해 Xm×m 정사각 행렬입니다. 실베스터 방정식의 경우 해 XC와 동일한 크기의 행렬입니다.

제한 사항

연속 랴푸노프 방정식은 A의 고유값 α1,α2,...,αnB의 고유값 β1,β2,...,βn이 모든 쌍 (i,j)에 대해 αi+βj0을 충족할 경우 유일한 해를 갖습니다.

이 조건을 위반하는 경우 lyap는 다음 오류 메시지를 생성합니다.

Solution does not exist or is not unique.

알고리즘

lyap는 랴푸노프 방정식의 경우 SLICOT 루틴 SB03MD 및 SG03AD를, 실베스터 방정식의 경우 SB04MD(SLICOT) 및 ZTRSYL(LAPACK)을 사용합니다.

참고 문헌

[1] Bartels, R. H., and G. W. Stewart. “Algorithm 432 [C2]: Solution of the Matrix Equation AX + XB = C [F4].” Communications of the ACM 15, no. 9 (September 1972): 820–26. https://doi.org/10.1145/361573.361582.

[2] Barraud, A. “A Numerical Algorithm to solveA^{T}XA - X = Q.” IEEE Transactions on Automatic Control 22, no. 5 (October 1977): 883–85. https://doi.org/10.1109/TAC.1977.1101604.

[3] Hammarling, S. J. “Numerical Solution of the Stable, Non-Negative Definite Lyapunov Equation Lyapunov Equation.” IMA Journal of Numerical Analysis 2, no. 3 (1982): 303–23. https://doi.org/10.1093/imanum/2.3.303.

[4] Penzl, Thilo. “Numerical Solution of Generalized Lyapunov Equations.” Advances in Computational Mathematics 8, no. 1 (January 1, 1998): 33–48. https://doi.org/10.1023/A:1018979826766.

[5] Golub, G., S. Nash, and C. Van Loan. “A Hessenberg-Schur Method for the Problem AX + XB= C.” IEEE Transactions on Automatic Control 24, no. 6 (December 1979): 909–13. https://doi.org/10.1109/TAC.1979.1102170.

버전 내역

R2006a 이전에 개발됨

참고 항목

|