No BSD License  

Highlights from
Digital Control

image thumbnail
from Digital Control by Richard Vaccaro
Companion Software

L=lqfbg(phi,gamma,Q,R)
function L=lqfbg(phi,gamma,Q,R)
%LQFBG	Linear quadratic feedback gains.
%	L=lqfbg(phi,gamma,Q,R) calculates the optimal feedback gain
%	matrix L such that the feedback law u[k] = - L x[k] minimizes
%	the performance index
%
%	        J = Sum {x'[k]Qx[k] + u'[k]Ru[k]}
%
%	subject to the constraint equation
%
%	        x[k+1] = phi x[k] + gamma u[k].
%
%	The summation defining J goes from zero to infinity.

% R.J. Vaccaro   3/94

phit=inv(phi)';
phq=phit*Q;
H=[phi+gamma/R*gamma'*phq -gamma/R*gamma'*phit;
	-phit*Q phit];
[u,e]=eig(H);
n=length(H)/2;
X=[];Y=[];k=1;
while k <=2*n
  if abs(e(k,k)) < 1
    if imag(e(k,k))==0
	X=[X u(1:n,k)];
	Y=[Y e(k,k)*u(n+1:2*n,k)];
        k=k+1;
    else
    	X=[X real(u(1:n,k)) imag(u(1:n,k))];
	Y=[Y real(e(k,k)*u(n+1:2*n,k)) imag(e(k,k)*u(n+1:2*n,k))];
	k=k+2;
    end
  else
    k=k+1;
  end
end
L=R\gamma'*Y/X;

%____________________ END OF LQFBG.M ________________________________

Contact us at files@mathworks.com