📄 s2.m
字号:
function [ret,x0,str,ts,xts]=s2(t,x,u,flag);
%s2 is the M-file description of the SIMULINK system named s2.
% The block-diagram can be displayed by typing: s2.
%
% SYS=s2(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 s2 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 s2 with a FLAG of zero:
% [SIZES]=s2([],[],[],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',[78,47,687,392])
open_system(sys)
end;
set_param(sys,'algorithm', 'Adams/Gear')
set_param(sys,'Start time', '0.0')
set_param(sys,'Stop time', 'tstop')
set_param(sys,'Min step size', '0.0001')
set_param(sys,'Max step size', '0.0010')
set_param(sys,'Relative error','1e-5')
set_param(sys,'Return vars', '')
% Subsystem ['CB on//off',13,'signal'].
new_system([sys,'/',['CB on//off',13,'signal']])
set_param([sys,'/',['CB on//off',13,'signal']],'Location',[5,40,315,196])
add_block('built-in/Outport',[sys,'/',['CB on//off',13,'signal/out_1']])
set_param([sys,'/',['CB on//off',13,'signal/out_1']],...
'position',[285,60,305,80])
add_block('built-in/Look Up Table',[sys,'/',['CB on//off',13,'signal/Look-Up Table']])
set_param([sys,'/',['CB on//off',13,'signal/Look-Up Table']],...
'Input_Values','t',...
'Output_Values','y',...
'position',[210,58,250,82])
add_block('built-in/Fcn',[sys,'/',['CB on//off',13,'signal/Fcn1']])
set_param([sys,'/',['CB on//off',13,'signal/Fcn1']],...
'Expr','rem(u[1],period)',...
'position',[110,60,150,80])
add_block('built-in/Clock',[sys,'/',['CB on//off',13,'signal/Clock']])
set_param([sys,'/',['CB on//off',13,'signal/Clock']],...
'position',[45,60,65,80])
add_line([sys,'/',['CB on//off',13,'signal']],[255,70;280,70])
add_line([sys,'/',['CB on//off',13,'signal']],[70,70;105,70])
add_line([sys,'/',['CB on//off',13,'signal']],[155,70;205,70])
set_param([sys,'/',['CB on//off',13,'signal']],...
'Mask Display','plot([t,t+period,t+2*period],[y,y,y])',...
'Mask Type','Repeating table')
set_param([sys,'/',['CB on//off',13,'signal']],...
'Mask Dialogue','Repeating table.\nEnter values of time and output for first cycle.|Time values:|Output values:',...
'Mask Translate','period = max(@1); t = @1; y = @2;')
set_param([sys,'/',['CB on//off',13,'signal']],...
'Mask Help','Repeats cycle given in table. Time values should be monotonically increasing.',...
'Mask Entries','[0 10*Te 10*Te 1.1*tstop ]\/[1 1 0 0 ]\/')
% Finished composite block ['CB on//off',13,'signal'].
set_param([sys,'/',['CB on//off',13,'signal']],...
'position',[110,198,140,222])
add_block('built-in/Note',[sys,'/','iR'])
set_param([sys,'/','iR'],...
'position',[455,150,460,155])
add_block('built-in/Note',[sys,'/','Vb'])
set_param([sys,'/','Vb'],...
'position',[240,175,245,180])
add_block('built-in/Note',[sys,'/','iS'])
set_param([sys,'/','iS'],...
'position',[240,150,245,155])
add_block('built-in/Note',[sys,'/','vS'])
set_param([sys,'/','vS'],...
'position',[360,175,365,180])
add_block('built-in/Note',[sys,'/','vR'])
set_param([sys,'/','vR'],...
'position',[360,150,365,155])
add_block('built-in/Clock',[sys,'/','Clock'])
set_param([sys,'/','Clock'],...
'position',[125,110,145,130])
% Subsystem 'RL load'.
new_system([sys,'/','RL load'])
set_param([sys,'/','RL load'],'Location',[580,121,1019,341])
add_block('built-in/Gain',[sys,'/','RL load/gain1'])
set_param([sys,'/','RL load/gain1'],...
'Gain','1/LL',...
'position',[150,68,205,112])
add_block('built-in/Sum',[sys,'/','RL load/Sum'])
set_param([sys,'/','RL load/Sum'],...
'inputs','+-',...
'position',[105,62,120,113])
add_block('built-in/Integrator',[sys,'/','RL load/int'])
set_param([sys,'/','RL load/int'],...
'position',[230,70,270,110])
add_block('built-in/Outport',[sys,'/','RL load/iR'])
set_param([sys,'/','RL load/iR'],...
'position',[320,80,340,100])
add_block('built-in/Inport',[sys,'/','RL load/vR'])
set_param([sys,'/','RL load/vR'],...
'position',[35,65,55,85])
add_block('built-in/Gain',[sys,'/','RL load/gain'])
set_param([sys,'/','RL load/gain'],...
'orientation',2,...
'Gain','RL',...
'position',[170,126,230,164])
add_line([sys,'/','RL load'],[275,90;285,90;285,145;235,145])
add_line([sys,'/','RL load'],[165,145;80,145;80,100;100,100])
add_line([sys,'/','RL load'],[275,90;315,90])
add_line([sys,'/','RL load'],[60,75;100,75])
add_line([sys,'/','RL load'],[125,90;145,90])
add_line([sys,'/','RL load'],[210,90;225,90])
% Finished composite block 'RL load'.
set_param([sys,'/','RL load'],...
'position',[415,145,445,195])
add_block('built-in/Sine Wave',[sys,'/','e'])
set_param([sys,'/','e'],...
'amplitude','Epk',...
'frequency','we',...
'phase','pi/2',...
'position',[115,151,145,179])
% Subsystem 'line'.
new_system([sys,'/','line'])
set_param([sys,'/','line'],'Location',[322,88,1015,437])
add_block('built-in/Note',[sys,'/','line/VbS'])
set_param([sys,'/','line/VbS'],...
'position',[180,210,185,215])
add_block('built-in/Sum',[sys,'/','line/Sum2'])
set_param([sys,'/','line/Sum2'],...
'inputs','+-',...
'position',[190,68,205,132])
add_block('built-in/Note',[sys,'/','line/VfS'])
set_param([sys,'/','line/VfS'],...
'position',[220,75,225,80])
add_block('built-in/Transport Delay',[sys,'/','line/S_to_R delay'])
set_param([sys,'/','line/S_to_R delay'],...
'Delay Time','tdelay',...
'Buffer Size:','buffer_size',...
'position',[260,76,305,124])
add_block('built-in/Gain',[sys,'/','line/Zc1'])
set_param([sys,'/','line/Zc1'],...
'orientation',3,...
'Gain','Zc',...
'position',[55,170,95,205])
add_block('built-in/Inport',[sys,'/','line/iS'])
set_param([sys,'/','line/iS'],...
'position',[30,230,50,250])
add_block('built-in/Gain',[sys,'/','line/Gain1'])
set_param([sys,'/','line/Gain1'],...
'orientation',2,...
'Gain','2',...
'position',[115,218,145,252])
add_block('built-in/Sum',[sys,'/','line/Sum1'])
set_param([sys,'/','line/Sum1'],...
'orientation',3,...
'position',[59,125,126,140])
add_block('built-in/Transport Delay',[sys,'/','line/R_to_S delay'])
set_param([sys,'/','line/R_to_S delay'],...
'orientation',2,...
'Delay Time','tdelay',...
'Buffer Size:','buffer_size',...
'position',[270,209,315,261])
add_block('built-in/Gain',[sys,'/','line/atten2'])
set_param([sys,'/','line/atten2'],...
'orientation',2,...
'Gain','atten',...
'position',[200,214,245,256])
add_block('built-in/Note',[sys,'/','line/VbR'])
set_param([sys,'/','line/VbR'],...
'position',[345,210,350,215])
add_block('built-in/Sum',[sys,'/','line/Sum5'])
set_param([sys,'/','line/Sum5'],...
'orientation',2,...
'inputs','-+',...
'position',[370,199,385,266])
add_block('built-in/Gain',[sys,'/','line/atten1'])
set_param([sys,'/','line/atten1'],...
'Gain','atten',...
'position',[340,80,380,120])
add_block('built-in/Note',[sys,'/','line/VfR'])
set_param([sys,'/','line/VfR'],...
'position',[400,75,405,80])
add_block('built-in/Gain',[sys,'/','line/Gain6'])
set_param([sys,'/','line/Gain6'],...
'Gain','2',...
'position',[430,84,465,116])
add_block('built-in/Gain',[sys,'/','line/Zc2'])
set_param([sys,'/','line/Zc2'],...
'orientation',1,...
'Gain','Zc',...
'position',[499,130,541,165])
add_block('built-in/Sum',[sys,'/','line/Sum4'])
set_param([sys,'/','line/Sum4'],...
'orientation',1,...
'inputs','+-',...
'position',[475,200,535,215])
add_block('built-in/Outport',[sys,'/','line/VR '])
set_param([sys,'/','line/VR '],...
'position',[565,240,585,260])
add_block('built-in/Inport',[sys,'/','line/iR'])
set_param([sys,'/','line/iR'],...
'orientation',2,...
'Port','2',...
'position',[560,80,580,100])
add_block('built-in/Outport',[sys,'/','line/VS'])
set_param([sys,'/','line/VS'],...
'orientation',2,...
'Port','2',...
'position',[25,75,45,95])
add_line([sys,'/','line'],[195,235;165,235;165,115;185,115])
add_line([sys,'/','line'],[195,235;150,235])
add_line([sys,'/','line'],[265,235;250,235])
add_line([sys,'/','line'],[385,100;425,100])
add_line([sys,'/','line'],[310,100;335,100])
add_line([sys,'/','line'],[110,235;110,145])
add_line([sys,'/','line'],[470,100;490,100;490,195])
add_line([sys,'/','line'],[75,165;75,145])
add_line([sys,'/','line'],[210,100;255,100])
add_line([sys,'/','line'],[520,170;520,195])
add_line([sys,'/','line'],[365,235;320,235])
add_line([sys,'/','line'],[505,220;505,250;390,250])
add_line([sys,'/','line'],[505,220;505,250;560,250])
add_line([sys,'/','line'],[55,240;75,240;75,210])
add_line([sys,'/','line'],[555,90;520,90;520,125])
add_line([sys,'/','line'],[95,120;95,85;50,85])
add_line([sys,'/','line'],[95,120;95,85;185,85])
add_line([sys,'/','line'],[385,100;410,100;410,215;390,215])
% Finished composite block 'line'.
set_param([sys,'/','line'],...
'position',[310,157,340,208])
% Subsystem 'breaker'.
new_system([sys,'/','breaker'])
set_param([sys,'/','breaker'],'Location',[292,81,1023,687])
add_block('built-in/Scope',[sys,'/','breaker/Scope1'])
set_param([sys,'/','breaker/Scope1'],...
'Vgain','3.000000',...
'Hgain','0.300000',...
'Vmax','6.000000',...
'Hmax','2.000000',...
'Window',[38,803,525,913],...
'position',[695,92,715,118])
add_block('built-in/Switch',[sys,'/','breaker/Switch'])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -