📄 s1o.m
字号:
function [ret,x0,str,ts,xts]=s1o(t,x,u,flag);
%s1o is the M-file description of the SIMULINK system named s1o.
% The block-diagram can be displayed by typing: s1o.
%
% SYS=s1o(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 s1o 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 s1o with a FLAG of zero:
% [SIZES]=s1o([],[],[],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',[12,77,800,484])
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', '1e-4')
set_param(sys,'Max step size', '1e-2')
set_param(sys,'Relative error','1e-5')
set_param(sys,'Return vars', '')
add_block('built-in/Sum',[sys,'/','Sum'])
set_param([sys,'/','Sum'],...
'inputs','+++',...
'position',[660,216,680,254])
add_block('built-in/Note',[sys,'/','wr//wb'])
set_param([sys,'/','wr//wb'],...
'position',[400,225,405,230])
add_block('built-in/Note',[sys,'/','Tem'])
set_param([sys,'/','Tem'],...
'position',[404,197,409,202])
add_block('built-in/Mux',[sys,'/','Mux1'])
set_param([sys,'/','Mux1'],...
'inputs','2',...
'position',[395,146,415,179])
add_block('built-in/Fcn',[sys,'/','Fcn1'])
set_param([sys,'/','Fcn1'],...
'Expr','sqrt(u[1]*u[1]+u[2]*u[2])',...
'position',[625,125,665,145])
add_block('built-in/Note',[sys,'/','vag'])
set_param([sys,'/','vag'],...
'position',[107,180,112,185])
add_block('built-in/Note',[sys,'/','vqs'])
set_param([sys,'/','vqs'],...
'position',[210,185,215,190])
add_block('built-in/Note',[sys,'/','vds'])
set_param([sys,'/','vds'],...
'position',[210,220,215,225])
add_block('built-in/Note',[sys,'/','v0s'])
set_param([sys,'/','v0s'],...
'position',[210,255,215,260])
% Subsystem 'abc2qds'.
new_system([sys,'/','abc2qds'])
set_param([sys,'/','abc2qds'],'Location',[246,146,930,530])
add_block('built-in/Note',[sys,'/','abc2qds/abc to qd0 stationary '])
set_param([sys,'/','abc2qds/abc to qd0 stationary '],...
'position',[255,45,260,50])
add_block('built-in/Mux',[sys,'/','abc2qds/Mux'])
set_param([sys,'/','abc2qds/Mux'],...
'inputs','3',...
'position',[105,81,145,259])
add_block('built-in/Inport',[sys,'/','abc2qds/vag'])
set_param([sys,'/','abc2qds/vag'],...
'position',[40,100,60,120])
add_block('built-in/Inport',[sys,'/','abc2qds/vbg'])
set_param([sys,'/','abc2qds/vbg'],...
'Port','2',...
'position',[40,160,60,180])
add_block('built-in/Inport',[sys,'/','abc2qds/vcg'])
set_param([sys,'/','abc2qds/vcg'],...
'Port','3',...
'position',[40,220,60,240])
add_block('built-in/Fcn',[sys,'/','abc2qds/Fcn1'])
set_param([sys,'/','abc2qds/Fcn1'],...
'Expr','(u[3]-u[2])/sqrt(3)',...
'position',[210,150,375,190])
add_block('built-in/Fcn',[sys,'/','abc2qds/Fcn'])
set_param([sys,'/','abc2qds/Fcn'],...
'Expr','(2/3)*(u[1] - (u[2]+u[3])/2)',...
'position',[210,86,375,124])
add_block('built-in/Fcn',[sys,'/','abc2qds/Fcn2'])
set_param([sys,'/','abc2qds/Fcn2'],...
'Expr','(u[1]+u[2]+u[3])/3',...
'position',[210,215,375,255])
add_block('built-in/Inport',[sys,'/','abc2qds/ias+ibs+ics'])
set_param([sys,'/','abc2qds/ias+ibs+ics'],...
'Port','4',...
'position',[40,285,60,305])
add_block('built-in/Outport',[sys,'/','abc2qds/vds'])
set_param([sys,'/','abc2qds/vds'],...
'Port','2',...
'position',[515,160,535,180])
add_block('built-in/Sum',[sys,'/','abc2qds/Sum'])
set_param([sys,'/','abc2qds/Sum'],...
'inputs','+-',...
'position',[465,223,480,267])
add_block('built-in/Outport',[sys,'/','abc2qds/v0s'])
set_param([sys,'/','abc2qds/v0s'],...
'Port','3',...
'position',[515,235,535,255])
add_block('built-in/Sum',[sys,'/','abc2qds/Sum1'])
set_param([sys,'/','abc2qds/Sum1'],...
'inputs','+-',...
'position',[465,93,480,137])
add_block('built-in/Outport',[sys,'/','abc2qds/vqs'])
set_param([sys,'/','abc2qds/vqs'],...
'position',[515,105,535,125])
add_block('built-in/Note',[sys,'/','abc2qds/vsg'])
set_param([sys,'/','abc2qds/vsg'],...
'position',[410,275,415,280])
add_block('built-in/Integrator',[sys,'/','abc2qds/Integrator'])
set_param([sys,'/','abc2qds/Integrator'],...
'position',[345,280,375,310])
add_block('built-in/Gain',[sys,'/','abc2qds/1//Csg'])
set_param([sys,'/','abc2qds/1//Csg'],...
'Gain','50*Zb*wb',...
'position',[150,274,230,316])
add_line([sys,'/','abc2qds'],[65,295;145,295])
add_line([sys,'/','abc2qds'],[65,110;100,110])
add_line([sys,'/','abc2qds'],[65,170;100,170])
add_line([sys,'/','abc2qds'],[65,230;100,230])
add_line([sys,'/','abc2qds'],[150,170;205,170])
add_line([sys,'/','abc2qds'],[150,170;170,170;170,105;205,105])
add_line([sys,'/','abc2qds'],[380,170;510,170])
add_line([sys,'/','abc2qds'],[150,170;170,170;170,235;205,235])
add_line([sys,'/','abc2qds'],[485,245;510,245])
add_line([sys,'/','abc2qds'],[380,235;460,235])
add_line([sys,'/','abc2qds'],[235,295;340,295])
add_line([sys,'/','abc2qds'],[380,295;425,295;425,255;460,255])
add_line([sys,'/','abc2qds'],[380,105;460,105])
add_line([sys,'/','abc2qds'],[485,115;510,115])
add_line([sys,'/','abc2qds'],[380,295;395,295;395,125;460,125])
% Finished composite block 'abc2qds'.
set_param([sys,'/','abc2qds'],...
'position',[145,186,190,289])
% Subsystem 'Var_we_source'.
new_system([sys,'/','Var_we_source'])
set_param([sys,'/','Var_we_source'],'Location',[209,82,897,440])
add_block('built-in/Note',[sys,'/','Var_we_source/variable frequency oscillator'])
set_param([sys,'/','Var_we_source/variable frequency oscillator'],...
'position',[200,300,205,305])
add_block('built-in/Constant',[sys,'/','Var_we_source/we'])
set_param([sys,'/','Var_we_source/we'],...
'Value','we',...
'position',[65,118,90,152])
add_block('built-in/Note',[sys,'/','Var_we_source/Vpk'])
set_param([sys,'/','Var_we_source/Vpk'],...
'position',[325,50,330,55])
add_block('built-in/Constant',[sys,'/','Var_we_source/Vb'])
set_param([sys,'/','Var_we_source/Vb'],...
'Value','Vb',...
'position',[275,59,305,91])
add_block('built-in/Note',[sys,'/','Var_we_source/2-phase to 3-phase '])
set_param([sys,'/','Var_we_source/2-phase to 3-phase '],...
'position',[510,300,515,305])
add_block('built-in/Outport',[sys,'/','Var_we_source/vbg'])
set_param([sys,'/','Var_we_source/vbg'],...
'Port','2',...
'position',[630,135,650,155])
add_block('built-in/Fcn',[sys,'/','Var_we_source/Fcn1'])
set_param([sys,'/','Var_we_source/Fcn1'],...
'Expr','u[1]*(-u[2]-sqrt(3)*u[3])/2',...
'position',[425,128,580,162])
add_block('built-in/Outport',[sys,'/','Var_we_source/vag'])
set_param([sys,'/','Var_we_source/vag'],...
'position',[630,75,650,95])
add_block('built-in/Fcn',[sys,'/','Var_we_source/Fcn2'])
set_param([sys,'/','Var_we_source/Fcn2'],...
'Expr','u[1]*(-u[2]+sqrt(3)*u[3])/2',...
'position',[425,190,580,220])
add_block('built-in/Outport',[sys,'/','Var_we_source/vcg'])
set_param([sys,'/','Var_we_source/vcg'],...
'Port','3',...
'position',[630,195,650,215])
add_block('built-in/Fcn',[sys,'/','Var_we_source/Fcn'])
set_param([sys,'/','Var_we_source/Fcn'],...
'Expr','u[1]*u[2]',...
'position',[425,68,575,102])
add_block('built-in/Mux',[sys,'/','Var_we_source/Mux'])
set_param([sys,'/','Var_we_source/Mux'],...
'inputs','3',...
'position',[355,42,380,248])
add_block('built-in/Note',[sys,'/','Var_we_source/-sin_wet'])
set_param([sys,'/','Var_we_source/-sin_wet'],...
'position',[300,186,305,191])
add_block('built-in/Note',[sys,'/','Var_we_source/cos_wet'])
set_param([sys,'/','Var_we_source/cos_wet'],...
'position',[315,114,320,119])
add_block('built-in/Gain',[sys,'/','Var_we_source/-1'])
set_param([sys,'/','Var_we_source/-1'],...
'Gain','-1',...
'position',[185,238,225,272])
add_block('built-in/Integrator',[sys,'/','Var_we_source/cos'])
set_param([sys,'/','Var_we_source/cos'],...
'Initial','1',...
'position',[235,125,270,165])
% Subsystem ['Var_we_source/Inner',13,'Product1'].
new_system([sys,'/',['Var_we_source/Inner',13,'Product1']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product1']],'Location',[33,479,253,634])
add_block('built-in/Product',[sys,'/',['Var_we_source/Inner',13,'Product1/Product']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product1/Product']],...
'position',[65,55,90,75])
add_block('built-in/Sum',[sys,'/',['Var_we_source/Inner',13,'Product1/Sum']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product1/Sum']],...
'inputs','+',...
'position',[125,55,145,75])
add_block('built-in/Outport',[sys,'/',['Var_we_source/Inner',13,'Product1/out_1']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product1/out_1']],...
'position',[185,55,205,75])
add_block('built-in/Inport',[sys,'/',['Var_we_source/Inner',13,'Product1/in_2']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product1/in_2']],...
'Port','2',...
'position',[15,90,35,110])
add_block('built-in/Inport',[sys,'/',['Var_we_source/Inner',13,'Product1/in_1']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product1/in_1']],...
'position',[15,25,35,45])
add_line([sys,'/',['Var_we_source/Inner',13,'Product1']],[40,100;60,70])
add_line([sys,'/',['Var_we_source/Inner',13,'Product1']],[40,35;60,60])
add_line([sys,'/',['Var_we_source/Inner',13,'Product1']],[95,65;120,65])
add_line([sys,'/',['Var_we_source/Inner',13,'Product1']],[150,65;180,65])
set_param([sys,'/',['Var_we_source/Inner',13,'Product1']],...
'Mask Display','.\n',...
'Mask Type','Dot Product',...
'Mask Dialogue','Inner (dot) product.\ny=sum(u1.*u2)')
set_param([sys,'/',['Var_we_source/Inner',13,'Product1']],...
'Mask Help','Computes the inner (dot) product of the inputs: sum(u1.*u2). The inputs are vectors of the same length. Output is a scalar.')
% Finished composite block ['Var_we_source/Inner',13,'Product1'].
set_param([sys,'/',['Var_we_source/Inner',13,'Product1']],...
'position',[170,125,195,160])
% Subsystem ['Var_we_source/Inner',13,'Product'].
new_system([sys,'/',['Var_we_source/Inner',13,'Product']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product']],'Location',[33,479,253,634])
add_block('built-in/Product',[sys,'/',['Var_we_source/Inner',13,'Product/Product']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product/Product']],...
'position',[65,55,90,75])
add_block('built-in/Sum',[sys,'/',['Var_we_source/Inner',13,'Product/Sum']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product/Sum']],...
'inputs','+',...
'position',[125,55,145,75])
add_block('built-in/Outport',[sys,'/',['Var_we_source/Inner',13,'Product/out_1']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product/out_1']],...
'position',[185,55,205,75])
add_block('built-in/Inport',[sys,'/',['Var_we_source/Inner',13,'Product/in_2']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product/in_2']],...
'Port','2',...
'position',[15,90,35,110])
add_block('built-in/Inport',[sys,'/',['Var_we_source/Inner',13,'Product/in_1']])
set_param([sys,'/',['Var_we_source/Inner',13,'Product/in_1']],...
'position',[15,25,35,45])
add_line([sys,'/',['Var_we_source/Inner',13,'Product']],[40,100;60,70])
add_line([sys,'/',['Var_we_source/Inner',13,'Product']],[40,35;60,60])
add_line([sys,'/',['Var_we_source/Inner',13,'Product']],[95,65;120,65])
add_line([sys,'/',['Var_we_source/Inner',13,'Product']],[150,65;180,65])
set_param([sys,'/',['Var_we_source/Inner',13,'Product']],...
'Mask Display','.\n',...
'Mask Type','Dot Product',...
'Mask Dialogue','Inner (dot) product.\ny=sum(u1.*u2)')
set_param([sys,'/',['Var_we_source/Inner',13,'Product']],...
'Mask Help','Computes the inner (dot) product of the inputs: sum(u1.*u2). The inputs are vectors of the same length. Output is a scalar.')
% Finished composite block ['Var_we_source/Inner',13,'Product'].
set_param([sys,'/',['Var_we_source/Inner',13,'Product']],...
'position',[135,236,160,269])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -