ex6_11.m
来自「反馈控制系统设计与分析(matlab程序)」· M 代码 · 共 23 行
M
23 行
A=[-0.2,0.5,0,0,0;0,-0.5,1.6,0,0;0,0,-14.3,85.8,0;
0,0,0,-33.3,100;0,0,0,0,-10];
B=[0; 0; 0; 0; 30]; Q=diag([1,0,0,0,0]); R=1;
C=[1,0,0,0,0]; D=0; G=ss(A,B,C,D);
[K,P]=lqr(A,B,Q,R);
H=[-8.3, 979.24, -19367.61, 4293.85, 0]';
Gc=-reg(ss(A,B,C,D),K,H);
zpk(Gc)
t=0:.05:2;%observer-based regulator
G_c=feedback(G*Gc,1); step(G_c,t); hold on;
step(ss(A-B*K,B,C,D),t) %direct feedback
Gc1=ss(A-B*K-H*C+H*D*K,B,-K,1); H=ss(A-H*C,H,K,0);
G_c1=feedback(Gc1*G,H); step(G_c1); %observer-based-controller
H=[441.7,146689.24,6670765.515,2866690.238,860270.98]';
G=ss(A,B,C,D); Gc=-reg(G,K,H);
zpk(Gc)
t=0:.05:3; %observer-based regulator
G_c=feedback(G*Gc,1); step(G_c,t); hold on;
step(ss(A-B*K,B,C,D),t); %direct state feedback
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?