📄 mod_rock.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 + -