📄 f14.m
字号:
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise/White Noise']],...
'Seed','seed',...
'position',[55,70,75,90])
add_block('built-in/Discrete Transfer Fcn',[sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise/Zero Order Hold']])
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise/Zero Order Hold']],...
'Numerator','[sqrt(Cov)]',...
'Denominator','[sqrt(Ts)]',...
'Sample time','Ts',...
'position',[140,61,205,99])
add_line([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']],[210,80;230,80])
add_line([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']],[80,80;135,80])
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']],...
'Mask Display','plot(t(:),r2(:))',...
'Mask Type','Continuous White Noise.')
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']],...
'Mask Dialogue','White noise for continuous (s-domain) systems.\nBand-limited using zero-order-hold.|Noise Variance:|Sample Time:|Seed')
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']],...
'Mask Translate','Cov = @1; Ts = @2; seed = @3; r = rand(1,12); r2 = [r(1),r;r,r(12)]; t =[1:13;1:13];')
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']],...
'Mask Help','Implemented using white noise into Zero Order Hold block. For faster simulation set sample time to highest value possible but in accordance with the fastest dynamics of system.')
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']],...
'Mask Entries','1\/0.1\/23341\/')
% Finished composite block ['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise'].
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']],...
'position',[35,25,70,65])
add_line([sys,'/',['Dryden Wind',13,'Gust Models']],[75,45;110,45])
add_line([sys,'/',['Dryden Wind',13,'Gust Models']],[340,45;375,45])
add_line([sys,'/',['Dryden Wind',13,'Gust Models']],[300,170;375,170])
add_line([sys,'/',['Dryden Wind',13,'Gust Models']],[340,45;350,45;350,120;100,120;100,170;150,170])
% Finished composite block ['Dryden Wind',13,'Gust Models'].
set_param([sys,'/',['Dryden Wind',13,'Gust Models']],...
'position',[140,222,170,273])
add_block('built-in/Note',[sys,'/','wGust'])
set_param([sys,'/','wGust'],...
'position',[196,215,201,220])
add_block('built-in/Note',[sys,'/','qGust'])
set_param([sys,'/','qGust'],...
'position',[195,240,200,245])
add_block('built-in/Sum',[sys,'/','Sum1'])
set_param([sys,'/','Sum1'],...
'hide name',0,...
'position',[90,20,110,60])
add_block('built-in/Inport',[sys,'/','u'])
set_param([sys,'/','u'],...
'position',[30,75,50,95])
% Subsystem 'Controller'.
new_system([sys,'/','Controller'])
set_param([sys,'/','Controller'],'Location',[0,0,591,471])
add_block('built-in/Gain',[sys,'/','Controller/Gain'])
set_param([sys,'/','Controller/Gain'],...
'Gain','Kf',...
'position',[305,15,345,55])
add_block('built-in/Transfer Fcn',[sys,'/',['Controller/Stick',13,'Prefilter']])
set_param([sys,'/',['Controller/Stick',13,'Prefilter']],...
'Denominator','[Ts,1]',...
'position',[80,70,150,120])
add_block('built-in/Sum',[sys,'/','Controller/Sum'])
set_param([sys,'/','Controller/Sum'],...
'inputs','2',...
'position',[430,75,455,115])
add_block('built-in/Inport',[sys,'/',['Controller/Stick',13,'Input (in)']])
set_param([sys,'/',['Controller/Stick',13,'Input (in)']],...
'position',[15,82,40,108])
add_block('built-in/Outport',[sys,'/',['Controller/Elevator',13,'Command (deg)']])
set_param([sys,'/',['Controller/Elevator',13,'Command (deg)']],...
'position',[510,82,535,108])
add_block('built-in/Sum',[sys,'/','Controller/Sum2'])
set_param([sys,'/','Controller/Sum2'],...
'inputs','+-',...
'position',[210,85,235,125])
add_block('built-in/Transfer Fcn',[sys,'/',['Controller/Proportional',13,'plus integral',13,'compensator']])
set_param([sys,'/',['Controller/Proportional',13,'plus integral',13,'compensator']],...
'Numerator','[Ki]',...
'Denominator','[1,0]',...
'position',[285,80,355,130])
add_block('built-in/Sum',[sys,'/','Controller/Sum1'])
set_param([sys,'/','Controller/Sum1'],...
'orientation',3,...
'inputs','2',...
'position',[152,190,188,210])
add_block('built-in/Gain',[sys,'/','Controller/Gain2'])
set_param([sys,'/','Controller/Gain2'],...
'orientation',2,...
'Gain','Kq',...
'position',[215,325,255,365])
add_block('built-in/Inport',[sys,'/','Controller/q (rad//sec)'])
set_param([sys,'/','Controller/q (rad//sec)'],...
'orientation',2,...
'Port','3',...
'position',[425,332,450,358])
add_block('built-in/Transfer Fcn',[sys,'/',['Controller/Pitch Rate',13,'Lead Filter']])
set_param([sys,'/',['Controller/Pitch Rate',13,'Lead Filter']],...
'orientation',2,...
'Numerator','[1,W1]',...
'Denominator','[1,W2]',...
'position',[290,320,360,370])
add_block('built-in/Gain',[sys,'/','Controller/Gain3'])
set_param([sys,'/','Controller/Gain3'],...
'orientation',2,...
'Gain','Ka',...
'position',[215,235,255,275])
add_block('built-in/Inport',[sys,'/','Controller/alpha (rad)'])
set_param([sys,'/','Controller/alpha (rad)'],...
'orientation',2,...
'Port','2',...
'position',[425,242,450,268])
add_block('built-in/Note',[sys,'/','Controller/Controller'])
set_param([sys,'/','Controller/Controller'],...
'position',[65,315,70,320])
add_block('built-in/Transfer Fcn',[sys,'/',['Controller/Alpha-sensor',13,'Low-pass Filter']])
set_param([sys,'/',['Controller/Alpha-sensor',13,'Low-pass Filter']],...
'orientation',2,...
'Denominator','[Tal,1]',...
'position',[285,230,360,280])
add_line([sys,'/','Controller'],[240,105;280,105])
add_line([sys,'/','Controller'],[255,105;255,35;300,35])
add_line([sys,'/','Controller'],[210,345;160,345;160,215])
add_line([sys,'/','Controller'],[210,255;180,255;180,215])
add_line([sys,'/','Controller'],[350,35;385,35;385,85;425,85])
add_line([sys,'/','Controller'],[360,105;425,105])
add_line([sys,'/','Controller'],[155,95;205,95])
add_line([sys,'/','Controller'],[170,185;170,115;205,115])
add_line([sys,'/','Controller'],[45,95;75,95])
add_line([sys,'/','Controller'],[460,95;505,95])
add_line([sys,'/','Controller'],[285,345;260,345])
add_line([sys,'/','Controller'],[420,345;365,345])
add_line([sys,'/','Controller'],[280,255;260,255])
add_line([sys,'/','Controller'],[420,255;365,255])
% Finished composite block 'Controller'.
set_param([sys,'/','Controller'],...
'position',[145,85,175,135])
add_block('built-in/Signal Generator',[sys,'/','Pilot'])
set_param([sys,'/','Pilot'],...
'Peak','1.000000',...
'Peak Range','1.000000',...
'Freq','0.500000',...
'Freq Range','1.000000',...
'Wave','Sqr',...
'Units','Rads',...
'position',[15,13,60,47])
add_block('built-in/Note',[sys,'/','q'])
set_param([sys,'/','q'],...
'position',[455,205,460,210])
add_block('built-in/Note',[sys,'/','w'])
set_param([sys,'/','w'],...
'position',[500,155,505,160])
add_block('built-in/Scope',[sys,'/','Stick Input'])
set_param([sys,'/','Stick Input'],...
'Vgain','1.500000',...
'Hgain','20.000000',...
'Vmax','2.000000',...
'Hmax','40.000000',...
'Window',[100,100,380,320],...
'position',[165,25,190,55])
add_block('built-in/Note',[sys,'/',['To start and stop the simulation, use the "Start//Stop"',13,'selection in the "Simulation" pull-down menu']])
set_param([sys,'/',['To start and stop the simulation, use the "Start//Stop"',13,'selection in the "Simulation" pull-down menu']],...
'position',[189,405,194,410])
add_block('built-in/Note',[sys,'/',['F-14 Flight Control',13,'(Double click on the "?" for more info)']])
set_param([sys,'/',['F-14 Flight Control',13,'(Double click on the "?" for more info)']],...
'position',[181,360,186,365])
% Subsystem 'More Info'.
new_system([sys,'/','More Info'])
set_param([sys,'/','More Info'],'Location',[0,0,386,160])
add_block('built-in/Note',[sys,'/',['More Info/This demonstration shows a flight controller',13,'for the longitudinal motion of a Grumman Aerospace F-14.']])
set_param([sys,'/',['More Info/This demonstration shows a flight controller',13,'for the longitudinal motion of a Grumman Aerospace F-14.']],...
'position',[180,20,185,25])
add_block('built-in/Note',[sys,'/',['More Info/Try experimenting with the values in the gain',13,'blocks and the signal generators.']])
set_param([sys,'/',['More Info/Try experimenting with the values in the gain',13,'blocks and the signal generators.']],...
'position',[178,85,183,90])
set_param([sys,'/','More Info'],...
'Mask Display','?')
% Finished composite block 'More Info'.
set_param([sys,'/','More Info'],...
'hide name',0,...
'Drop Shadow',4,...
'position',[310,365,337,390])
% Subsystem 'More Info1'.
new_system([sys,'/','More Info1'])
set_param([sys,'/','More Info1'],'Location',[128,280,487,453])
add_block('built-in/Note',[sys,'/',['More Info1/This system models a double pendulum system where',13,'the rest state has both pendulums hanging vertically.']])
set_param([sys,'/',['More Info1/This system models a double pendulum system where',13,'the rest state has both pendulums hanging vertically.']],...
'position',[168,20,173,25])
add_block('built-in/Note',[sys,'/',['More Info1/Associated with the demo is an animation function that',13,'will automatically open a figure window and display to it.']])
set_param([sys,'/',['More Info1/Associated with the demo is an animation function that',13,'will automatically open a figure window and display to it.']],...
'position',[174,65,179,70])
add_block('built-in/Note',[sys,'/',['More Info1/Try experimenting with different initial conditions for',13,'alpha and gamma to see the unusal coupling effects.']])
set_param([sys,'/',['More Info1/Try experimenting with different initial conditions for',13,'alpha and gamma to see the unusal coupling effects.']],...
'position',[175,115,180,120])
set_param([sys,'/','More Info1'],...
'Mask Display','Double click\nhere for\nSIMULINK Help',...
'Mask Dialogue','eval(''[cs,cb]=get_param;str=[''''simcad '''' cs];eval(str);'')')
% Finished composite block 'More Info1'.
set_param([sys,'/','More Info1'],...
'hide name',0,...
'Drop Shadow',4,...
'position',[390,370,492,421])
add_block('built-in/Transfer Fcn',[sys,'/',['Actuator',13,'Model']])
set_param([sys,'/',['Actuator',13,'Model']],...
'Denominator','[ Ta, 1]',...
'position',[215,87,275,133])
add_block('built-in/Outport',[sys,'/','Nz Pilot (g)'])
set_param([sys,'/','Nz Pilot (g)'],...
'Port','2',...
'position',[605,95,625,115])
add_line(sys,[115,40;125,40;125,95;140,95])
add_line(sys,[125,40;160,40])
add_line(sys,[440,175;490,175;490,230;505,230])
add_line(sys,[565,230;575,230;575,340;75,340;75,110;140,110])
add_line(sys,[575,230;575,165;600,165])
add_line(sys,[440,200;470,200;470,320;105,320;105,125;140,125])
add_line(sys,[370,245;380,245;380,200;400,200])
add_line(sys,[180,110;210,110])
add_line(sys,[305,285;320,285;320,255;340,255])
add_line(sys,[305,235;340,235])
add_line(sys,[175,260;230,260;230,285;255,285])
add_line(sys,[305,185;400,185])
add_line(sys,[280,110;310,110;310,170;400,170])
add_line(sys,[65,30;85,30])
add_line(sys,[55,85;70,85;70,50;85,50])
add_line(sys,[565,230;605,230])
add_line(sys,[175,235;255,235])
add_line(sys,[555,50;600,50])
add_line(sys,[575,50;575,105;600,105])
add_line(sys,[230,235;230,185;255,185])
add_line(sys,[450,175;450,35;510,35])
add_line(sys,[470,200;470,60;510,60])
drawnow
% Return any arguments.
if (nargin | nargout)
% Must use feval here to access system in memory
if (nargin > 3)
if (flag == 0)
eval(['[ret,x0,str,ts,xts]=',sys,'(t,x,u,flag);'])
else
eval(['ret =', sys,'(t,x,u,flag);'])
end
else
[ret,x0,str,ts,xts] = feval(sys);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -