登录论坛

查看完整版本 : [求助]求注释


squall805
2008-04-22, 20:47
给定线性离散系统
x(k+1)=0.3679x(k)+0.6321u(k) x(0)=1
试决定最优控制率,使得下列性能指标达到极小
A=[0.3679];B=[0.6321];S=[1];Q=[1];R=[1];P=[1];
P10=P;
K=inv(R)*B'*inv(A')*(P-Q);K10=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P9=P;
%Compute K,P until K=K0,P=P0
K=inv(R)*B'*inv(A')*(P-Q);K9=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P8=P;
K=inv(R)*B'*inv(A')*(P-Q);K8=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P7=P;
K=inv(R)*B'*inv(A')*(P-Q);K7=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P6=P;
K=inv(R)*B'*inv(A')*(P-Q);K6=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P5=P;
K=inv(R)*B'*inv(A')*(P-Q);K5=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P4=P;
K=inv(R)*B'*inv(A')*(P-Q);K4=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P3=P;
K=inv(R)*B'*inv(A')*(P-Q);K3=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P2=P;
K=inv(R)*B'*inv(A')*(P-Q);K2=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P1=P;
K=inv(R)*B'*inv(A')*(P-Q);K1=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;P0=P;
K=inv(R)*B'*inv(A')*(P-Q);K0=K;
P=Q+A'*P*A-A'*P*B*inv(R+B'*P*B)*B'*P*A;
P=[P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10]'
K=[K0 K1 K2 K3 K4 K5 K6 K7 K8 K9 K10]'
x=[1];x0=x;u=-K0*x;u0=u;
x=A*x+B*u;x1=x;u=-K1*x;u1=u;
x=A*x+B*u;x2=x;u=-K2*x;u2=u;
x=A*x+B*u;x3=x;u=-K3*x;u3=u;
x=A*x+B*u;x4=x;u=-K4*x;u4=u;
x=A*x+B*u;x5=x;u=-K5*x;u5=u;
x=A*x+B*u;x6=x;u=-K6*x;u6=u;
x=A*x+B*u;x7=x;u=-K7*x;u7=u;
x=A*x+B*u;x8=x;u=-K8*x;u8=u;
x=A*x+B*u;x9=x;u=-K9*x;u9=u;
x=A*x+B*u;x10=x;u=-K10*x;u10=u;
X=[x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10]'
U=[u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10]'
%Compute Jmin
Jmin=0.5*x0'*P0*x0

% Plot
k=0:10;
v=[0 10 0 1.2];
axis(v);
plot(k,P)
grid
title('Plot of P(k) versus k');
xlabel('k');
ylabel('P(k)');
v=[0 10 0 0.2];
axis(v);
plot(k,K)
grid
title('Plot of K(k) versus k');
xlabel('k');
ylabel('K(k)');