📄 f14.m
字号:
function [ret,x0,str,ts,xts]=f14(t,x,u,flag);
%F14 is the M-file description of the SIMULINK system named F14.
% The block-diagram can be displayed by typing: F14.
%
% SYS=F14(T,X,U,FLAG) returns depending on FLAG certain
% system values given time point, T, current state vector, X,
% and input vector, U.
% FLAG is used to indicate the type of output to be returned in SYS.
%
% Setting FLAG=1 causes F14 to return state derivatives, FLAG=2
% discrete states, FLAG=3 system outputs and FLAG=4 next sample
% time. For more information and other options see SFUNC.
%
% Calling F14 with a FLAG of zero:
% [SIZES]=F14([],[],[],0), returns a vector, SIZES, which
% contains the sizes of the state vector and other parameters.
% SIZES(1) number of states
% SIZES(2) number of discrete states
% SIZES(3) number of outputs
% SIZES(4) number of inputs.
% For the definition of other parameters in SIZES, see SFUNC.
% See also, TRIM, LINMOD, LINSIM, EULER, RK23, RK45, ADAMS, GEAR.
% Note: This M-file is only used for saving graphical information;
% after the model is loaded into memory an internal model
% representation is used.
% the system will take on the name of this mfile:
sys = mfilename;
new_system(sys)
simver(1.3)
if (0 == (nargin + nargout))
set_param(sys,'Location',[16,72,698,519])
open_system(sys)
end;
set_param(sys,'algorithm', 'RK-45')
set_param(sys,'Start time', '0.0')
set_param(sys,'Stop time', '10000')
set_param(sys,'Min step size', '0.001')
set_param(sys,'Max step size', '1')
set_param(sys,'Relative error','1e-4')
set_param(sys,'Return vars', '')
set_param(sys,'Load callback','f14dat');
add_block('built-in/Scope',[sys,'/',['Angle of ',13,'Attack']])
set_param([sys,'/',['Angle of ',13,'Attack']],...
'Vgain','2.000000',...
'Hgain','40.000000',...
'Vmax','4.000000',...
'Hmax','80.000000',...
'Window',[365,565,636,707],...
'position',[605,150,630,180])
add_block('built-in/Scope',[sys,'/',['Pilot G force',13,'Scope']])
set_param([sys,'/',['Pilot G force',13,'Scope']],...
'Vgain','20.000000',...
'Hgain','60.000000',...
'Vmax','40.000000',...
'Hmax','120.000000',...
'Window',[533,477,772,611])
open_system([sys,'/',['Pilot G force',13,'Scope']])
set_param([sys,'/',['Pilot G force',13,'Scope']],...
'position',[605,35,630,65])
add_block('built-in/Outport',[sys,'/','alpha (rad)'])
set_param([sys,'/','alpha (rad)'],...
'position',[610,220,630,240])
add_block('built-in/Gain',[sys,'/','Gain5'])
set_param([sys,'/','Gain5'],...
'hide name',0,...
'Gain','1/Uo',...
'position',[510,207,560,253])
% Subsystem ['Nz pilot',13,'calculation'].
new_system([sys,'/',['Nz pilot',13,'calculation']])
set_param([sys,'/',['Nz pilot',13,'calculation']],'Location',[0,56,459,330])
add_block('built-in/Gain',[sys,'/',['Nz pilot',13,'calculation/Gain1']])
set_param([sys,'/',['Nz pilot',13,'calculation/Gain1']],...
'Gain','22.8',...
'position',[190,102,240,148])
add_block('built-in/Gain',[sys,'/',['Nz pilot',13,'calculation/Gain2']])
set_param([sys,'/',['Nz pilot',13,'calculation/Gain2']],...
'Gain','1/g',...
'position',[320,102,370,148])
add_block('built-in/Inport',[sys,'/',['Nz pilot',13,'calculation/q']])
set_param([sys,'/',['Nz pilot',13,'calculation/q']],...
'Port','2',...
'position',[25,115,45,135])
add_block('built-in/Inport',[sys,'/',['Nz pilot',13,'calculation/w']])
set_param([sys,'/',['Nz pilot',13,'calculation/w']],...
'position',[25,35,45,55])
add_block('built-in/Derivative',[sys,'/',['Nz pilot',13,'calculation/Derivative']])
set_param([sys,'/',['Nz pilot',13,'calculation/Derivative']],...
'position',[125,32,165,58])
add_block('built-in/Sum',[sys,'/',['Nz pilot',13,'calculation/Sum1']])
set_param([sys,'/',['Nz pilot',13,'calculation/Sum1']],...
'inputs','-++',...
'position',[270,95,290,155])
add_block('built-in/Outport',[sys,'/',['Nz pilot',13,'calculation/Pilot',13,'g force (g)']])
set_param([sys,'/',['Nz pilot',13,'calculation/Pilot',13,'g force (g)']],...
'position',[400,115,420,135])
add_block('built-in/Derivative',[sys,'/',['Nz pilot',13,'calculation/Derivative1']])
set_param([sys,'/',['Nz pilot',13,'calculation/Derivative1']],...
'position',[125,112,165,138])
add_block('built-in/Product',[sys,'/',['Nz pilot',13,'calculation/Product']])
set_param([sys,'/',['Nz pilot',13,'calculation/Product']],...
'position',[145,167,170,198])
add_block('built-in/Note',[sys,'/',['Nz pilot',13,'calculation/Nz pilot calculation']])
set_param([sys,'/',['Nz pilot',13,'calculation/Nz pilot calculation']],...
'position',[284,195,289,200])
add_block('built-in/Constant',[sys,'/',['Nz pilot',13,'calculation/Constant']])
set_param([sys,'/',['Nz pilot',13,'calculation/Constant']],...
'Value','Uo',...
'position',[75,207,100,233])
add_block('built-in/Note',[sys,'/',['Nz pilot',13,'calculation/Nz = (dq//dt*22.8 + q*Uo - dw//dt)//g']])
set_param([sys,'/',['Nz pilot',13,'calculation/Nz = (dq//dt*22.8 + q*Uo - dw//dt)//g']],...
'position',[283,220,288,225])
add_line([sys,'/',['Nz pilot',13,'calculation']],[50,125;85,125;85,175;140,175])
add_line([sys,'/',['Nz pilot',13,'calculation']],[85,125;120,125])
add_line([sys,'/',['Nz pilot',13,'calculation']],[105,220;115,220;115,190;140,190])
add_line([sys,'/',['Nz pilot',13,'calculation']],[375,125;395,125])
add_line([sys,'/',['Nz pilot',13,'calculation']],[295,125;315,125])
add_line([sys,'/',['Nz pilot',13,'calculation']],[170,45;240,45;240,105;265,105])
add_line([sys,'/',['Nz pilot',13,'calculation']],[50,45;120,45])
add_line([sys,'/',['Nz pilot',13,'calculation']],[170,125;185,125])
add_line([sys,'/',['Nz pilot',13,'calculation']],[245,125;265,125])
add_line([sys,'/',['Nz pilot',13,'calculation']],[175,185;240,185;240,145;265,145])
% Finished composite block ['Nz pilot',13,'calculation'].
set_param([sys,'/',['Nz pilot',13,'calculation']],...
'position',[515,20,550,75])
% Subsystem ['Aircraft',13,'Dynamics',13,'Model'].
new_system([sys,'/',['Aircraft',13,'Dynamics',13,'Model']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],'Location',[15,61,577,448])
add_block('built-in/Gain',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Gain6']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Gain6']],...
'Gain','Md',...
'position',[125,330,160,370])
add_block('built-in/Gain',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Gain5']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Gain5']],...
'Gain','Zd',...
'position',[120,15,155,55])
add_block('built-in/Transfer Fcn',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Transfer Fcn.1']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Transfer Fcn.1']],...
'Denominator','[1,-Mq]',...
'position',[360,250,420,300])
add_block('built-in/Sum',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Sum2']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Sum2']],...
'inputs','+-+',...
'position',[260,251,280,299])
add_block('built-in/Sum',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Sum1']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Sum1']],...
'inputs','+-+',...
'position',[270,76,290,124])
add_block('built-in/Outport',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Pitch Rate',13,'q (rad//sec)']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Pitch Rate',13,'q (rad//sec)']],...
'Port','2',...
'position',[510,266,530,284])
add_block('built-in/Outport',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Vertical Velocity',13,'w (ft//sec)']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Vertical Velocity',13,'w (ft//sec)']],...
'position',[510,91,530,109])
add_block('built-in/Inport',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Vertical Gust',13,'wGust (ft//sec)']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Vertical Gust',13,'wGust (ft//sec)']],...
'Port','2',...
'position',[145,88,170,112])
add_block('built-in/Transfer Fcn',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Transfer Fcn.2']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Transfer Fcn.2']],...
'Denominator','[1,-Zw]',...
'position',[360,76,420,124])
add_block('built-in/Gain',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Gain4']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Gain4']],...
'orientation',2,...
'Gain','Mw',...
'position',[300,203,340,247])
add_block('built-in/Gain',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Gain3']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Gain3']],...
'orientation',2,...
'Gain','Uo',...
'position',[300,145,340,185])
add_block('built-in/Inport',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Elevator',13,'Deflection',13,'d (deg)']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Elevator',13,'Deflection',13,'d (deg)']],...
'position',[25,23,50,47])
add_block('built-in/Inport',[sys,'/',['Aircraft',13,'Dynamics',13,'Model/Rotary Gust',13,'qGust (rad//sec)']])
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model/Rotary Gust',13,'qGust (rad//sec)']],...
'Port','3',...
'position',[145,263,170,287])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[425,100;505,100])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[460,100;460,160;425,225;345,225])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[425,275;505,275])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[460,275;460,225;432,165;345,165])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[165,350;220,350;220,290;255,290])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[160,35;220,35;220,85;265,85])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[295,165;220,165;220,115;265,115])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[175,275;255,275])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[285,275;355,275])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[295,100;355,100])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[295,225;220,225;220,260;255,260])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[175,100;265,100])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[55,35;115,35])
add_line([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],[80,35;80,350;120,350])
% Finished composite block ['Aircraft',13,'Dynamics',13,'Model'].
set_param([sys,'/',['Aircraft',13,'Dynamics',13,'Model']],...
'position',[405,160,435,210])
add_block('built-in/Gain',[sys,'/','Gain'])
set_param([sys,'/','Gain'],...
'hide name',0,...
'Gain','Zw',...
'position',[260,166,300,204])
add_block('built-in/Sum',[sys,'/','Sum'])
set_param([sys,'/','Sum'],...
'hide name',0,...
'position',[345,225,365,265])
add_block('built-in/Gain',[sys,'/','Gain2'])
set_param([sys,'/','Gain2'],...
'hide name',0,...
'Gain','Mw',...
'position',[260,213,300,257])
add_block('built-in/Gain',[sys,'/','Gain1'])
set_param([sys,'/','Gain1'],...
'hide name',0,...
'Gain','Mq',...
'position',[260,265,300,305])
% Subsystem ['Dryden Wind',13,'Gust Models'].
new_system([sys,'/',['Dryden Wind',13,'Gust Models']])
set_param([sys,'/',['Dryden Wind',13,'Gust Models']],'Location',[79,145,531,383])
add_block('built-in/Transfer Fcn',[sys,'/',['Dryden Wind',13,'Gust Models/W-gust model']])
set_param([sys,'/',['Dryden Wind',13,'Gust Models/W-gust model']],...
'Numerator','Swg/sqrt(a^3)*[sqrt(3)*a,1]',...
'Denominator','[1 (2/a) 1/a^2]',...
'position',[115,17,335,73])
add_block('built-in/Outport',[sys,'/',['Dryden Wind',13,'Gust Models/Qg']])
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Qg']],...
'Port','2',...
'position',[380,160,400,180])
add_block('built-in/Outport',[sys,'/',['Dryden Wind',13,'Gust Models/Wg']])
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Wg']],...
'position',[380,35,400,55])
add_block('built-in/Transfer Fcn',[sys,'/',['Dryden Wind',13,'Gust Models/Q-gust model']])
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Q-gust model']],...
'Numerator','pi/(4*b)*[1 0]',...
'Denominator','[1 pi*Vto/(4*b)]',...
'position',[155,145,295,195])
% Subsystem ['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise'].
new_system([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']])
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise']],'Location',[0,0,262,236])
add_block('built-in/Outport',[sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise/out_1']])
set_param([sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise/out_1']],...
'position',[235,70,255,90])
add_block('built-in/White Noise',[sys,'/',['Dryden Wind',13,'Gust Models/Band Limited',13,'White Noise/White Noise']])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -