ex10_3.m

来自「离散控制系统设计的MATLAB 代码」· M 代码 · 共 27 行

M
27
字号
%%%%%%%%%%%%%%%%% Example 10.3 %%%%%%%%%%%%%%%%%%
%   Discrete-Time Control Problems using        %
%       MATLAB and the Control System Toolbox   %
%   by J.H. Chow, D.K. Frederick, & N.W. Chbat  %
%         Brooks/Cole Publishing Company        %
%                September 2002                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   ---- Pole placement (low gain) ----
%
clear
disp('Example 10.3')

Ts = 0.1;
A = [0.81   -0.23   -0.045          % state matrix
     0.09    0.98   -0.0023
     0.005   0.10    1     ];
B = [0.09 0.0047 0.00016]';         % input matrix
[mag_pOL,theta_pOL] = xy2p(eig(A)); % open-loop poles in polar form
p = [0.95 0.9+0.1i 0.9-0.1i]';      % desired CL pole locations
[mag_pDes,theta_pDes] = xy2p(p);    % polar form of desired poles
F = place(A,B,p)                    % control gain
disp('******>'), pause
A_cl = A-B*F                        % closed-loop system matrix
[mag_pCL,theta_pCL] = xy2p(eig(A_cl)); % check closed-loop eigenvalues
norm(F)
%%%%%%%%%%

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?