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

📄 f14c.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 2 页
字号:
function [ret,x0,str]=f14cf(t,x,u,flag);
%F14CF	is the M-file description of the SIMULINK system named F14CF.
%	The block-diagram can be displayed by typing: F14CF.
%
%	SYS=F14CF(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 F14CF to return state derivitives, FLAG=2
%	discrete states, FLAG=3 system outputs and FLAG=4 next sample
%	time. For more information and other options see SFUNC.
%
%	Calling F14CF with a FLAG of zero:
%	[SIZES]=F14CF([],[],[],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.

%	Copyright (c) 1990-94 by The MathWorks, Inc.

% 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',[-4,-4,644,484])
     open_system(sys)
end;
set_param(sys,'algorithm',		'Linear')
set_param(sys,'Start time',	'0.0')
set_param(sys,'Stop time',		'2')
set_param(sys,'Min step size',	'1e-8')
set_param(sys,'Max step size',	'.01')
set_param(sys,'Relative error','1e-4')
set_param(sys,'Return vars',	'')

add_block('built-in/To Workspace',[sys,'/','To Workspace2'])
set_param([sys,'/','To Workspace2'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'mat-name','t',...
		'buffer','1000',...
		'position',[370,42,415,68])

add_block('built-in/Outport',[sys,'/',['Open Loop',13,'Output']])
set_param([sys,'/',['Open Loop',13,'Output']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Port','3',...
		'position',[230,185,250,205])

add_block('built-in/Outport',[sys,'/','q (rad//sec)'])
set_param([sys,'/','q (rad//sec)'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Port','2',...
		'position',[775,345,795,365])

add_block('built-in/To Workspace',[sys,'/','To Workspace1'])
set_param([sys,'/','To Workspace1'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'mat-name','q',...
		'buffer','1000',...
		'position',[760,288,800,312])

add_block('built-in/To Workspace',[sys,'/','To Workspace'])
set_param([sys,'/','To Workspace'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'mat-name','Nzp',...
		'buffer','1000',...
		'position',[730,47,775,73])

add_block('built-in/Constant',[sys,'/','Constant'])
set_param([sys,'/','Constant'],...
		'orientation',2,...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Value','0',...
		'position',[405,402,430,428])

add_block('built-in/Inport',[sys,'/',['Open Loop',13,'Input']])
set_param([sys,'/',['Open Loop',13,'Input']],...
		'orientation',2,...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Port','2',...
		'position',[150,210,170,230])

add_block('built-in/Sum',[sys,'/','Sum2'])
set_param([sys,'/','Sum2'],...
		'orientation',2,...
		'hide name',0,...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'inputs','++',...
		'position',[155,385,175,425])

add_block('built-in/Transfer Fcn',[sys,'/',['Alpha-sensor',13,'error model']])
set_param([sys,'/',['Alpha-sensor',13,'error model']],...
		'orientation',2,...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Numerator','[Sa*sqrt(2*Wa)]',...
		'Denominator','[1 Wa]',...
		'position',[250,389,350,441])

add_block('built-in/Note',[sys,'/','qGust'])
set_param([sys,'/','qGust'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'position',[295,280,296,281])

add_block('built-in/Note',[sys,'/','wGust'])
set_param([sys,'/','wGust'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'position',[296,255,297,256])


%     Subsystem  'Controller'.

new_system([sys,'/','Controller'])
set_param([sys,'/','Controller'],'Location',[25,33,634,476])

add_block('built-in/Outport',[sys,'/',['Controller/Open Loop',13,'Output']])
set_param([sys,'/',['Controller/Open Loop',13,'Output']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Port','2',...
		'position',[545,217,570,243])

add_block('built-in/Gain',[sys,'/','Controller/Gain'])
set_param([sys,'/','Controller/Gain'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Gain','Kf',...
		'position',[390,15,430,55])

add_block('built-in/Transfer Fcn',[sys,'/',['Controller/Stick',13,'Prefilter']])
set_param([sys,'/',['Controller/Stick',13,'Prefilter']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Numerator','[1]',...
		'Denominator','[Ts,1]',...
		'position',[100,80,170,130])

add_block('built-in/Sum',[sys,'/','Controller/Sum'])
set_param([sys,'/','Controller/Sum'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'inputs','2',...
		'position',[475,75,500,115])

add_block('built-in/Inport',[sys,'/',['Controller/Stick',13,'Input (in)']])
set_param([sys,'/',['Controller/Stick',13,'Input (in)']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Port','1',...
		'position',[35,92,60,118])

add_block('built-in/Outport',[sys,'/',['Controller/Elevator',13,'Command (deg)']])
set_param([sys,'/',['Controller/Elevator',13,'Command (deg)']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Port','1',...
		'position',[540,82,565,108])

add_block('built-in/Sum',[sys,'/','Controller/Sum2'])
set_param([sys,'/','Controller/Sum2'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'inputs','++-',...
		'position',[315,85,340,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']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Numerator','[Ki]',...
		'Denominator','[1,0]',...
		'position',[385,85,440,125])

add_block('built-in/Sum',[sys,'/','Controller/Sum1'])
set_param([sys,'/','Controller/Sum1'],...
		'orientation',3,...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'inputs','2',...
		'position',[257,190,293,210])

add_block('built-in/Gain',[sys,'/','Controller/Gain2'])
set_param([sys,'/','Controller/Gain2'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Gain','Kq',...
		'position',[205,320,245,360])

add_block('built-in/Inport',[sys,'/','Controller/q (rad//sec)'])
set_param([sys,'/','Controller/q (rad//sec)'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Port','3',...
		'position',[30,327,55,353])

add_block('built-in/Transfer Fcn',[sys,'/',['Controller/Pitch Rate',13,'Lead Filter']])
set_param([sys,'/',['Controller/Pitch Rate',13,'Lead Filter']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Numerator','[1,W1]',...
		'Denominator','[1,W2]',...
		'position',[95,315,165,365])

add_block('built-in/Gain',[sys,'/','Controller/Gain3'])
set_param([sys,'/','Controller/Gain3'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Gain','Ka',...
		'position',[205,230,245,270])

add_block('built-in/Inport',[sys,'/','Controller/alpha (rad)'])
set_param([sys,'/','Controller/alpha (rad)'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Port','2',...
		'position',[30,237,55,263])

add_block('built-in/Note',[sys,'/','Controller/Controller'])
set_param([sys,'/','Controller/Controller'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'position',[435,300,436,301])

add_block('built-in/Transfer Fcn',[sys,'/',['Controller/Alpha-sensor',13,'Low-pass Filter']])
set_param([sys,'/',['Controller/Alpha-sensor',13,'Low-pass Filter']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Numerator','[1]',...
		'Denominator','[Tal,1]',...
		'position',[95,225,170,275])

add_block('built-in/Inport',[sys,'/',['Controller/Open Loop',13,'Input']])
set_param([sys,'/',['Controller/Open Loop',13,'Input']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Port','4',...
		'position',[35,22,60,48])
add_line([sys,'/','Controller'],[275,185;275,160;350,160;350,230;540,230])
add_line([sys,'/','Controller'],[275,160;275,120;310,120])
add_line([sys,'/','Controller'],[345,105;380,105])
add_line([sys,'/','Controller'],[360,105;360,35;385,35])
add_line([sys,'/','Controller'],[435,35;455,35;455,85;470,85])
add_line([sys,'/','Controller'],[445,105;470,105])
add_line([sys,'/','Controller'],[65,105;95,105])
add_line([sys,'/','Controller'],[505,95;535,95])
add_line([sys,'/','Controller'],[170,340;200,340])
add_line([sys,'/','Controller'],[60,340;90,340])
add_line([sys,'/','Controller'],[175,250;200,250])
add_line([sys,'/','Controller'],[60,250;90,250])
add_line([sys,'/','Controller'],[250,250;265,250;265,215])
add_line([sys,'/','Controller'],[250,340;285,340;285,215])
add_line([sys,'/','Controller'],[175,105;310,105])
add_line([sys,'/','Controller'],[65,35;275,35;275,90;310,90])


%     Finished composite block 'Controller'.

set_param([sys,'/','Controller'],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'position',[150,125,180,175])

add_block('built-in/Transfer Fcn',[sys,'/',['Actuator',13,'Model']])
set_param([sys,'/',['Actuator',13,'Model']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Numerator','[1]',...
		'Denominator','[ Ta, 1]',...
		'position',[285,117,345,163])


%     Subsystem  ['Aircraft Dynamics ',13,'Model'].

new_system([sys,'/',['Aircraft Dynamics ',13,'Model']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model']],'Location',[50,50,630,485])

add_block('built-in/Note',[sys,'/',['Aircraft Dynamics ',13,'Model/Aircraft Dynamics']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Aircraft Dynamics']],...
		'Font Number',786433,...
		'Drop Shadow',786432,...
		'position',[390,380,391,381])

add_block('built-in/Gain',[sys,'/',['Aircraft Dynamics ',13,'Model/Gain6']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Gain6']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Gain','Md',...
		'position',[135,355,170,395])

add_block('built-in/Gain',[sys,'/',['Aircraft Dynamics ',13,'Model/Gain5']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Gain5']],...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'Gain','Zd',...
		'position',[130,15,165,55])

add_block('built-in/Transfer Fcn',[sys,'/',['Aircraft Dynamics ',13,'Model/Transfer Ftn.2']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Transfer Ftn.2']],...
		'Font Number',786435,...
		'Drop Shadow',786432,...
		'Numerator','[1]',...
		'Denominator','[1,-Mq]',...
		'position',[365,280,425,330])

add_block('built-in/Sum',[sys,'/',['Aircraft Dynamics ',13,'Model/Sum2']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Sum2']],...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'inputs','+-+',...
		'position',[270,281,290,329])

add_block('built-in/Sum',[sys,'/',['Aircraft Dynamics ',13,'Model/Sum1']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Sum1']],...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'inputs','+-+',...
		'position',[270,106,290,154])

add_block('built-in/Outport',[sys,'/',['Aircraft Dynamics ',13,'Model/Pitch Rate',13,'q (rad//sec)']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Pitch Rate',13,'q (rad//sec)']],...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'Port','2',...
		'position',[515,296,535,314])

add_block('built-in/Outport',[sys,'/',['Aircraft Dynamics ',13,'Model/Vertical Velocity',13,'w (ft//sec)']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Vertical Velocity',13,'w (ft//sec)']],...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'Port','1',...
		'position',[510,121,530,139])

add_block('built-in/Inport',[sys,'/',['Aircraft Dynamics ',13,'Model/Vertical Gust',13,'wGust (ft//sec)']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Vertical Gust',13,'wGust (ft//sec)']],...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'Port','2',...
		'position',[155,118,180,142])

add_block('built-in/Transfer Fcn',[sys,'/',['Aircraft Dynamics ',13,'Model/Transfer Ftn.1 ']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Transfer Ftn.1 ']],...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'Numerator','[1]',...
		'Denominator','[1,-Zw]',...
		'position',[365,106,425,154])

add_block('built-in/Gain',[sys,'/',['Aircraft Dynamics ',13,'Model/Gain4']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Gain4']],...
		'orientation',2,...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'Gain','Mw',...
		'position',[305,233,345,277])

add_block('built-in/Gain',[sys,'/',['Aircraft Dynamics ',13,'Model/Gain3']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Gain3']],...
		'orientation',2,...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'Gain','Uo',...
		'position',[305,175,345,215])

add_block('built-in/Inport',[sys,'/',['Aircraft Dynamics ',13,'Model/Elevator',13,'Deflection',13,'d (deg)']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Elevator',13,'Deflection',13,'d (deg)']],...
		'Font Number',720899,...
		'Drop Shadow',720896,...
		'Port','1',...
		'position',[35,23,60,47])

add_block('built-in/Inport',[sys,'/',['Aircraft Dynamics ',13,'Model/Rotary Gust',13,'qGust (rad//sec)']])
set_param([sys,'/',['Aircraft Dynamics ',13,'Model/Rotary Gust',13,'qGust (rad//sec)']],...
		'Font Number',720899,...
		'Drop Shadow',720896,...

⌨️ 快捷键说明

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