Main Content

dare

(권장되지 않음) 이산시간 대수 리카티 방정식(DARE) 풀기

dare는 권장되지 않습니다. idare를 대신 사용하십시오. 자세한 내용은 호환성 관련 고려 사항 항목을 참조하십시오.

구문

[X,L,G] = dare(A,B,Q,R)
[X,L,G] = dare(A,B,Q,R,S,E)
[X,L,G,report] = dare(A,B,Q,...)
[X1,X2,L,report] = dare(A,B,Q,...,'factor')

설명

[X,L,G] = dare(A,B,Q,R) 은 다음과 같은 이산시간 대수 리카티 방정식의 유일한 안정화 해 X를 계산합니다.

ATXAXATXB(BTXB+R)1BTXA+Q=0

dare 함수는 이득 행렬 G=(BTXB+R)1BTXA와 폐루프 고유값으로 구성된 벡터 L도 반환합니다. 여기서 L은 다음과 같습니다.

L=eig(A-B*G,E)

[X,L,G] = dare(A,B,Q,R,S,E) 는 다음과 같은 보다 일반적인 이산시간 대수 리카티 방정식을 풉니다.

ATXAETXE(ATXB+S)(BTXB+R)1(BTXA+ST)+Q=0

또는 R이 정칙인 경우 다음과도 동치입니다.

ETXE=FTXFFTXB(BTXB+R)1BTXF+QSR1ST

여기서 F=ABR1ST입니다. R, S, E 값이 생략된 경우 디폴트 값 R=I, S=0, E=I로 설정됩니다.

dare 함수는 대응하는 이득 행렬 G=(BTXB+R)1(BTXA+ST)

폐루프 고유값으로 구성된 벡터 L을 반환합니다. 여기서 L은 다음과 같습니다.

L= eig(A-B*G,E)

[X,L,G,report] = dare(A,B,Q,...)는 다음 값을 포함하는 진단 report를 반환합니다.

  • -1 : 관련 심플렉틱 펜슬이 단위원 또는 단위원 매우 가까이에 고유값을 갖는 경우

  • -2 : 유한한 안정화 해 X가 없는 경우

  • 프로베니우스 노름: X가 존재하며 유한한 경우

[X1,X2,L,report] = dare(A,B,Q,...,'factor')X = D*(X2/X1)*D를 충족하는 2개의 행렬 X1, X2 및 대각 스케일링 행렬 D를 반환합니다. 벡터 L은 폐루프 고유값을 포함합니다. 해당 심플렉틱 행렬이 단위원에 고유값을 갖는 경우 모든 출력은 비어 있습니다.

제한 사항

(A, B) 쌍은 안정화 가능해야 합니다(즉, 단위 원판 외부에 있는 A의 모든 고유값이 제어 가능해야 함). 또한 관련 심플렉틱 펜슬이 단위원에 고유값을 갖지 않아야 합니다. 이것이 참이 되도록 하는 충분 조건은 S = 0이고 R > 0일 때는 (Q, A)가 검출 가능한 경우, 즉 다음이 성립하는 경우입니다.

[QSSTR]>0

알고리즘

dare[1]에 설명되어 있는 알고리즘을 구현합니다. 확장된 심플렉틱 펜슬을 수축하고 안정적인 불변 부분공간을 계산하려면 QZ 알고리즘을 사용합니다.

참고 문헌

[1] Arnold, W.F., III and A.J. Laub, "Generalized Eigenproblem Algorithms and Software for Algebraic Riccati Equations," Proc. IEEE®, 72 (1984), pp. 1746-1754.

버전 내역

R2006a 이전에 개발됨

모두 축소

R2019a: dare는 권장되지 않음

R2019a부터는 idare 명령을 사용하여 이산시간 리카티 방정식을 푸십시오. 이 방법은 더 나은 스케일링을 통해 정확도를 개선하며, R의 조건이 나쁠 때 dare에 비해 K의 계산이 더 정확합니다. 아울러 idare에는 리카티 방정식의 음함수 해 데이터를 수집하는 선택적 info 구조체가 포함되어 있습니다.

다음 표는 dare의 몇 가지 일반적인 용도와 이 대신 코드에서 idare를 사용하도록 업데이트하는 방법을 보여줍니다.

권장되지 않음권장됨

[X,L,G] = dare(A,B,Q,R,S,E)

[X,K,L] = idare(A,B,Q,R,S,E)는 이산시간 대수 리카티 방정식의 안정화 해 X, 상태-피드백 이득 K, 폐루프 고유값 L을 계산합니다. 자세한 내용은 idare를 참조하십시오.

[X,L,G,report] = dare(A,B,Q,R,S,E)

[X,K,L,info] = idare(A,B,Q,R,S,E)는 이산시간 대수 리카티 방정식의 안정화 해 X, 상태-피드백 이득 K, 폐루프 고유값 L을 계산합니다. info 구조체는 음함수 해 데이터를 포함합니다. 자세한 내용은 idare를 참조하십시오.

현재로서는 dare를 제거할 계획이 없습니다.

참고 항목