📄 ben3bsys.m
字号:
function [ret,x0,str,ts,xts]=ben3bsys(t,x,u,flag);
%BEN3BSYS is the M-file description of the SIMULINK system named BEN3BSYS.
% The block-diagram can be displayed by typing: BEN3BSYS.
%
% SYS=BEN3BSYS(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 BEN3BSYS 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 BEN3BSYS with a FLAG of zero:
% [SIZES]=BEN3BSYS([],[],[],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
% SIZES(5) number of roots (currently unsupported)
% SIZES(6) direct feedthrough flag
% SIZES(7) number of sample times
%
% 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',[29,94,728,377])
open_system(sys)
end;
set_param(sys,'algorithm', 'RK-45')
set_param(sys,'Start time', '0.0')
set_param(sys,'Stop time', '4')
set_param(sys,'Min step size', '0.001')
set_param(sys,'Max step size', '10')
set_param(sys,'Relative error','1e-3')
set_param(sys,'Return vars', '')
set_param(sys,'Load callback','ben3bdat');
add_block('built-in/Discrete Transfer Fcn',[sys,'/','G13'])
set_param([sys,'/','G13'],...
'orientation',2,...
'Numerator','gn4',...
'Denominator','gd4',...
'Sample time','[T1,offT1]',...
'position',[215,122,265,158])
add_block('built-in/Step Fcn',[sys,'/','Step'])
set_param([sys,'/','Step'],...
'Time','0',...
'position',[10,34,30,56])
add_block('built-in/Inport',[sys,'/','R'])
set_param([sys,'/','R'],...
'position',[10,90,30,110])
add_block('built-in/Sum',[sys,'/','Sum3'])
set_param([sys,'/','Sum3'],...
'hide name',0,...
'position',[80,40,100,60])
add_block('built-in/Transfer Fcn',[sys,'/','G1, G2'])
set_param([sys,'/','G1, G2'],...
'Numerator','gn1_gn2',...
'Denominator','gd1',...
'position',[410,39,475,81])
% Subsystem 'G10'.
new_system([sys,'/','G10'])
set_param([sys,'/','G10'],'Location',[100,100,300,300])
add_block('built-in/Transfer Fcn',[sys,'/','G10/G101'])
set_param([sys,'/','G10/G101'],...
'orientation',2,...
'Numerator','gn101',...
'Denominator','gd101',...
'position',[190,12,240,48])
add_block('built-in/Outport',[sys,'/','G10/Out_1'])
set_param([sys,'/','G10/Out_1'],...
'orientation',2,...
'position',[20,20,40,40])
add_block('built-in/Transfer Fcn',[sys,'/','G10/G102'])
set_param([sys,'/','G10/G102'],...
'orientation',2,...
'Numerator','gn102',...
'Denominator','gd102',...
'position',[85,12,135,48])
add_block('built-in/Inport',[sys,'/','G10/In_1'])
set_param([sys,'/','G10/In_1'],...
'orientation',2,...
'position',[285,20,305,40])
add_line([sys,'/','G10'],[280,30;245,30])
add_line([sys,'/','G10'],[185,30;140,30])
add_line([sys,'/','G10'],[80,30;45,30])
% Finished composite block 'G10'.
set_param([sys,'/','G10'],...
'orientation',2,...
'position',[460,200,490,250])
add_block('built-in/Discrete Transfer Fcn',[sys,'/','G12'])
set_param([sys,'/','G12'],...
'orientation',2,...
'Numerator','gn12',...
'Denominator','gd12',...
'Sample time','[T3,offT3]',...
'position',[370,207,420,243])
add_block('built-in/Discrete Transfer Fcn',[sys,'/','G5'])
set_param([sys,'/','G5'],...
'orientation',2,...
'Numerator','gn5',...
'Denominator','gd5',...
'Sample time','[T1,offT1]',...
'position',[220,207,270,243])
add_block('built-in/Sum',[sys,'/','Sum'])
set_param([sys,'/','Sum'],...
'hide name',0,...
'inputs','--',...
'position',[190,43,205,67])
add_block('built-in/Note',[sys,'/','T1'])
set_param([sys,'/','T1'],...
'position',[260,35,265,40])
add_block('built-in/Sum',[sys,'/','Sum1'])
set_param([sys,'/','Sum1'],...
'hide name',0,...
'inputs','2',...
'position',[225,48,240,72])
% Subsystem 'G6 G13'.
new_system([sys,'/','G6 G13'])
set_param([sys,'/','G6 G13'],'Location',[45,122,343,202])
add_block('built-in/Discrete Transfer Fcn',[sys,'/','G6 G13/G6'])
set_param([sys,'/','G6 G13/G6'],...
'orientation',2,...
'Numerator','gn6',...
'Denominator','gd6',...
'Sample time','[T2,offT2]',...
'position',[90,12,140,48])
% Subsystem 'G6 G13/G13'.
new_system([sys,'/','G6 G13/G13'])
set_param([sys,'/','G6 G13/G13'],'Location',[62,148,378,217])
add_block('built-in/Discrete Transfer Fcn',[sys,'/','G6 G13/G13/G132'])
set_param([sys,'/','G6 G13/G13/G132'],...
'orientation',2,...
'Numerator','gn132',...
'Denominator','gd132',...
'Sample time','[T2,offT2]',...
'position',[85,12,135,48])
add_block('built-in/Discrete Transfer Fcn',[sys,'/','G6 G13/G13/G131'])
set_param([sys,'/','G6 G13/G13/G131'],...
'orientation',2,...
'Numerator','gn131',...
'Denominator','gd131',...
'Sample time','[T2,offT2]',...
'position',[175,12,225,48])
add_block('built-in/Inport',[sys,'/','G6 G13/G13/In_1'])
set_param([sys,'/','G6 G13/G13/In_1'],...
'orientation',2,...
'position',[275,20,295,40])
add_block('built-in/Outport',[sys,'/','G6 G13/G13/Out_1'])
set_param([sys,'/','G6 G13/G13/Out_1'],...
'orientation',2,...
'position',[20,20,40,40])
add_line([sys,'/','G6 G13/G13'],[80,30;45,30])
add_line([sys,'/','G6 G13/G13'],[170,30;140,30])
add_line([sys,'/','G6 G13/G13'],[270,30;230,30])
% Finished composite block 'G6 G13/G13'.
set_param([sys,'/','G6 G13/G13'],...
'orientation',2,...
'position',[190,5,220,55])
add_block('built-in/Outport',[sys,'/','G6 G13/Out_1'])
set_param([sys,'/','G6 G13/Out_1'],...
'orientation',2,...
'position',[20,20,40,40])
add_block('built-in/Inport',[sys,'/','G6 G13/In_1'])
set_param([sys,'/','G6 G13/In_1'],...
'orientation',2,...
'position',[265,20,285,40])
add_line([sys,'/','G6 G13'],[185,30;145,30])
add_line([sys,'/','G6 G13'],[85,30;45,30])
add_line([sys,'/','G6 G13'],[260,30;225,30])
% Finished composite block 'G6 G13'.
set_param([sys,'/','G6 G13'],...
'orientation',2,...
'position',[305,115,335,165])
% Subsystem 'G7 G14'.
new_system([sys,'/','G7 G14'])
set_param([sys,'/','G7 G14'],'Location',[33,119,333,211])
% Subsystem 'G7 G14/G14'.
new_system([sys,'/','G7 G14/G14'])
set_param([sys,'/','G7 G14/G14'],'Location',[40,168,360,246])
add_block('built-in/Outport',[sys,'/','G7 G14/G14/Out_1'])
set_param([sys,'/','G7 G14/G14/Out_1'],...
'orientation',2,...
'position',[20,20,40,40])
add_block('built-in/Inport',[sys,'/','G7 G14/G14/In_1'])
set_param([sys,'/','G7 G14/G14/In_1'],...
'orientation',2,...
'position',[275,20,295,40])
add_block('built-in/Discrete Transfer Fcn',[sys,'/','G7 G14/G14/G131'])
set_param([sys,'/','G7 G14/G14/G131'],...
'orientation',2,...
'Numerator','gn131',...
'Denominator','gd131',...
'Sample time','[T2,offT2]',...
'position',[175,12,225,48])
add_block('built-in/Discrete Transfer Fcn',[sys,'/','G7 G14/G14/G132'])
set_param([sys,'/','G7 G14/G14/G132'],...
'orientation',2,...
'Numerator','gn132',...
'Denominator','gd132',...
'Sample time','[T2,offT2]',...
'position',[85,12,135,48])
add_line([sys,'/','G7 G14/G14'],[80,30;45,30])
add_line([sys,'/','G7 G14/G14'],[170,30;140,30])
add_line([sys,'/','G7 G14/G14'],[270,30;230,30])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -