⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mod_rock.m

📁 导弹控制系统的鲁棒控制设计实例
💻 M
字号:
% Uncertainty model of a rocket stabilization system
%
% Fly and aerodynamics parameters
sol_rock
% Coefficients of the linearized differential equations
cfn_rock
%
% Equaton for alpha-variations
%
% relative uncertainties
p_Theta_Theta     = 0.30;       % 30%
p_Theta_delta     = 0.30;       % 30%
%
mat_Theta_Theta = [0  a_Theta_Theta; p_Theta_Theta  a_Theta_Theta];
mat_Theta_delta = [0  a_Theta_delta; p_Theta_delta  a_Theta_delta];
%
dalpha = 1;
alpha  = nd2sys([1],[1 0]);
%
systemnames = 'mat_Theta_Theta  mat_Theta_delta';
systemnames = [systemnames ' dalpha alpha'];
inputvar = '[ pert{2}; Theta{5}; Actuator{3} ]';
outputvar = '[ mat_Theta_Theta(1); mat_Theta_delta(1); alpha ]';
input_to_mat_Theta_Theta = '[ pert(1); alpha ]';
input_to_mat_Theta_delta = '[ pert(2); Actuator(3) ]';
input_to_dalpha = '[ -mat_Theta_Theta(2) - mat_Theta_delta(2) + Theta(5)]';
input_to_alpha = '[ dalpha ]';
sysoutname = 'Alpha';
cleanupsysic = 'yes';
sysic
%
% Equation for theta-variations
%
% relative uncertainties
p_theta_dtheta = 0.30;       % 30%
p_theta_theta  = 0.30;       % 30%
p_theta_delta  = 0.30;       % 30%
%
mat_theta_dtheta = [0 a_theta_dtheta; p_theta_dtheta a_theta_dtheta];
mat_theta_theta  = [0 a_theta_theta;  p_theta_theta  a_theta_theta];
mat_theta_delta  = [0 a_theta_delta;  p_theta_delta  a_theta_delta];
%
ddtheta = 1;
dtheta  = nd2sys([1],[1 0]);
%
systemnames = 'mat_theta_dtheta mat_theta_theta mat_theta_delta';
systemnames = [systemnames ' ddtheta dtheta'];
inputvar = '[ pert{3}; Alpha{3}; Actuator{3} ]';
temp = '[ mat_theta_dtheta(1); mat_theta_theta(1); mat_theta_delta(1); ';
outputvar = [temp ' ddtheta; dtheta ]'];
input_to_mat_theta_dtheta = '[ pert(1); dtheta ]';
input_to_mat_theta_theta = '[ pert(2); Alpha(3)]';
input_to_mat_theta_delta = '[ pert(3); Actuator(3) ]';
input_to_ddtheta = '[ mat_theta_dtheta(2) + mat_theta_theta(2) + mat_theta_delta(2) ]';
input_to_dtheta = '[ ddtheta ]';
sysoutname = 'Theta';
cleanupsysic = 'yes';
sysic
%
% Equation for n_y1 variations
%
% relative uncertainty
p_ny1_alpha     = 0.30;       % 30%
p_ny1_delta     = 0.30;       % 30%
%
mat_ny1_alpha = [0  a_ny1_alpha; p_ny1_alpha  a_ny1_alpha];
mat_ny1_delta = [0  a_ny1_delta; p_ny1_delta  a_ny1_delta];
%
systemnames = 'mat_ny1_alpha mat_ny1_delta';
inputvar = '[ pert{2}; Alpha{3}; Actuator{3} ]';
outputvar = '[ mat_ny1_alpha(1); mat_ny1_delta(1); mat_ny1_alpha(2) + mat_ny1_delta(2) ]';
input_to_mat_ny1_alpha = '[ pert(1); Alpha(3) ]';
input_to_mat_ny1_delta = '[ pert(2); Actuator(3) ]';
sysoutname = 'Acceleration';
cleanupsysic = 'yes';
sysic
%
% Equation for delta-variations
%
% Servoactuator parameters
omega_delta = 150;         % rad/s   undamped natural frequency
ksi_delta   = 0.707;       %  -      damping ratio
%
dddelta = 1;
ddelta = nd2sys([1],[1 0]);
delta = nd2sys([1],[1 0]);
sq_omega_delta = omega_delta^2;
%
systemnames = ' ksi_delta omega_delta sq_omega_delta';
systemnames = [systemnames ' dddelta ddelta delta'];
inputvar =  '[ control ]';
outputvar = '[ dddelta; ddelta; delta ]';
input_to_sq_omega_delta = '[ control - delta  ]';
input_to_omega_delta = '[ ddelta ]';
input_to_ksi_delta = '[ omega_delta ]';
input_to_dddelta = '[ sq_omega_delta - 2*ksi_delta ]'; 
input_to_ddelta = '[ dddelta ]';
input_to_delta = '[ ddelta ]';
sysoutname = 'Actuator';
cleanupsysic = 'yes';
sysic
%
% Find the interconnection structure
systemnames = ' Alpha Theta Acceleration Actuator ';
inputvar = '[ pert{7}; control ]';
temp = '[ Alpha(1:2); Theta(1:3); Acceleration(1:2);';
outputvar = [temp ' Alpha(3); Theta(5); Acceleration(3); Actuator(3) ]'];
input_to_Alpha = '[ pert(1:2); Theta;  Actuator ]';
input_to_Theta = '[ pert(3:5); Alpha;  Actuator ]'; 
input_to_Actuator = '[ control ]';
input_to_Acceleration = '[ pert(6:7); Alpha; Actuator ]';
sysoutname = 'G_rock';
cleanupsysic = 'yes';
sysic

⌨️ 快捷键说明

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