📄 q822.m
字号:
%《MATLAB在电子信息课程中的应用》第八章例8.22程序q822
% 连续系统最优控制器设计二
% 电子工业出版社出版 陈怀琛 吴大正 高西全合著 2001年10月
clear,
A=[0,1,0;0,0,1;-1,-4,-9];B=[0;0;1];C=[1,0,0];D=0; % 设定系数矩阵
q11=input('q11= ');R=input('R= '); % 输入加权常数
q33=1;q22=1;
Q=diag([q11,q22,q33]); % 生成权重矩阵
[K,P,E]=lqr(A,B,Q,R);K,E % 求最优控制的反馈增益矩阵
A1=A-B*K;B1=B*K(1);C1=C;D1=D; % 加反馈后的系统矩阵
s=ss(A,B,C,D); % 原系统的LTI模型
[y,t,x]=step(s); % 原系统的阶跃响应(含全部状态变量)
figure(1),plot(t,y,'*',t,[x(:,2:3)]),grid % 绘制全部状态变量的阶跃响应曲线
s1=ss(A1,B1,C1,D1); % 加反馈后系统的LTI模型
[y1,t1,x1]=step(s1);u1=K*x1'; % 加反馈后系统的阶跃响应,并求出控制量u1
figure(2),plot(t1,y1,'*',t1,u1,'.-',t1,[x1(:,2:3)]),grid % 绘制响应曲线
legend('y1','u1','x1')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -