주요 콘텐츠

dlqr

R2026b

이산시간 상태공간 시스템을 위한 선형-2차(LQ) 상태-피드백 조절기

설명

[K,S,P] = dlqr(A,B,Q,R,N) 은 이산시간 상태공간 행렬 A와 B를 사용하여 최적 이득 행렬 K, 관련된 대수 리카티 방정식의 해 S, 폐루프 극점 P를 계산합니다. 이 함수는 이산시간 모델에만 유효합니다. 연속시간 모델의 경우 lqr을 사용하십시오.

입력 인수

모두 축소

상태 행렬로, n×n 행렬로 지정됩니다. 여기서 n은 상태 개수입니다.

입력-상태 행렬로, n×m의 입력-상태 행렬로 지정됩니다. 여기서 m은 입력 개수입니다.

상태-비용 가중 행렬로, n×n 행렬로 지정됩니다. 여기서 n은 상태 개수입니다. 다음과 같이 Bryson의 규칙을 사용하여 Q의 초기값을 설정할 수 있습니다.

Qi,i=1maximum acceptable value of (errorstates)2, i∈{1,2,...,n}Q=[Q1,10⋯00Q2,2⋯000⋱⋮00⋯Qn,n]

여기서 n은 상태 개수입니다.

입력-비용 가중 행렬로, D'D와 동일한 크기의 스칼라 또는 행렬로 지정됩니다. 여기서 D는 피드스루 상태공간 행렬입니다. 다음과 같이 Bryson의 규칙을 사용하여 R의 초기값을 설정할 수 있습니다.

Rj,j=1maximum acceptable value of (errorinputs)2, j∈{1,2,...,m}R=[R1,10⋯00R2,2⋯000⋱⋮00⋯Rm,m]

여기서 m은 입력 개수입니다.

교차 항 행렬(선택 사항)로, 행렬로 지정됩니다. N이 지정되지 않은 경우 기본적으로 lqr은 N을 0으로 설정합니다.

출력 인수

모두 축소

폐루프 시스템의 최적 이득으로, 크기가 n인 행 벡터로 반환됩니다. 여기서 n은 상태 개수입니다.

관련된 대수 리카티 방정식의 해로, n×n 행렬로 반환됩니다. 여기서 n은 상태 개수입니다. 즉, S는 상태공간 행렬 A와 차원이 동일합니다. 자세한 내용은 idare를 참조하십시오.

폐루프 시스템의 극점으로, 크기가 n인 열 벡터로 반환됩니다. 여기서 n은 상태 개수입니다.

알고리즘

dlqr은 최적 이득 행렬 K를 계산합니다. 여기서 상태-피드백 법칙 u[n]=−Kx[n]은 다음 2차 비용 함수를

J(u)=∑n=1∞(x[n]TQx[n]+u[n]TRu[n]+2x[n]TNu[n])

이산시간 상태공간 모델 x[n+1]=Ax[n]+Bu[n]에 대해 최소화합니다.

dlqr은 상태-피드백 이득 K 외에도 그와 관련된 다음 이산시간 리카티 방정식의 무한대 지평 해 S와

ATSA−S−(ATSB+N)(BTSB+R)−1(BTSA+NT)+Q=0

폐루프 고유값 P = eig(A−BK)를 반환합니다. 다음을 사용하여 S에서 이득 행렬 K가 도출됩니다.

K=(BTSB+R)−1(BTSA+NT)

어떤 경우이든 교차 항 행렬 N을 생략하면 dlqr은 N을 0으로 설정합니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |