s3.m
来自「simulink electrical machine(2)」· M 代码 · 共 1,389 行 · 第 1/4 页
M
1,389 行
function [ret,x0,str,ts,xts]=s3(t,x,u,flag);
%s3 is the M-file description of the SIMULINK system named s3.
% s3 has a the following characteristics:
% 10 continuous states
% 0 discrete states
% 0 outputs
% 0 inputs
% does not have direct feedthrough
% 1 sample times
%
% The block-diagram can be displayed by typing: s3.
%
% SYS=s3(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 s3 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 s3 with a FLAG of zero:
% [SIZES]=s3([],[],[],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,78,803,533])
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/Note',[sys,'/','sin_rho'])
set_param([sys,'/','sin_rho'],...
'position',[245,236,250,241])
add_block('built-in/Clock',[sys,'/','Clock'])
set_param([sys,'/','Clock'],...
'orientation',3,...
'position',[155,115,175,135])
add_block('built-in/Note',[sys,'/','lambdadr^e*'])
set_param([sys,'/','lambdadr^e*'],...
'position',[105,230,110,235])
add_block('built-in/Mux',[sys,'/','Mux1'])
set_param([sys,'/','Mux1'],...
'inputs','2',...
'position',[675,282,700,313])
add_block('built-in/Note',[sys,'/','psidr'])
set_param([sys,'/','psidr'],...
'position',[645,290,650,295])
add_block('built-in/Note',[sys,'/','psiqr'])
set_param([sys,'/','psiqr'],...
'position',[644,266,649,271])
add_block('built-in/Integrator',[sys,'/','thetar'])
set_param([sys,'/','thetar'],...
'position',[765,248,795,282])
add_block('built-in/Sum',[sys,'/','Sum1'])
set_param([sys,'/','Sum1'],...
'inputs','+-',...
'position',[60,168,75,197])
add_block('built-in/Look Up Table',[sys,'/',['Field',13,'Weakening']])
set_param([sys,'/',['Field',13,'Weakening']],...
'Input_Values','speed',...
'Output_Values','lambdadre',...
'position',[95,272,135,308])
add_block('built-in/Gain',[sys,'/','2//P'])
set_param([sys,'/','2//P'],...
'orientation',2,...
'Gain','2/P',...
'position',[300,356,350,394])
% Subsystem 'abc2qds'.
new_system([sys,'/','abc2qds'])
set_param([sys,'/','abc2qds'],'Location',[73,84,637,421])
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/v0s'])
set_param([sys,'/','abc2qds/v0s'],...
'Port','3',...
'position',[515,240,535,260])
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',[440,222,460,273])
add_block('built-in/Note',[sys,'/','abc2qds/vsg'])
set_param([sys,'/','abc2qds/vsg'],...
'position',[345,275,350,280])
add_block('built-in/Gain',[sys,'/','abc2qds/1//Csg'])
set_param([sys,'/','abc2qds/1//Csg'],...
'Gain','50*Zb*wb',...
'position',[105,276,205,314])
add_block('built-in/Integrator',[sys,'/','abc2qds/Integrator'])
set_param([sys,'/','abc2qds/Integrator'],...
'position',[265,280,300,310])
add_block('built-in/Sum',[sys,'/','abc2qds/Sum1'])
set_param([sys,'/','abc2qds/Sum1'],...
'inputs','+-',...
'position',[435,92,455,143])
add_block('built-in/Outport',[sys,'/','abc2qds/vqs'])
set_param([sys,'/','abc2qds/vqs'],...
'position',[515,110,535,130])
add_line([sys,'/','abc2qds'],[65,295;100,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'],[465,250;510,250])
add_line([sys,'/','abc2qds'],[380,235;435,235])
add_line([sys,'/','abc2qds'],[210,295;260,295])
add_line([sys,'/','abc2qds'],[305,295;395,295;395,260;435,260])
add_line([sys,'/','abc2qds'],[380,105;430,105])
add_line([sys,'/','abc2qds'],[460,120;510,120])
add_line([sys,'/','abc2qds'],[305,295;395,295;395,130;430,130])
% Finished composite block 'abc2qds'.
set_param([sys,'/','abc2qds'],...
'position',[485,176,530,279])
add_block('built-in/Note',[sys,'/','i0s'])
set_param([sys,'/','i0s'],...
'position',[655,205,660,210])
add_block('built-in/Note',[sys,'/','wr//wb'])
set_param([sys,'/','wr//wb'],...
'position',[660,245,665,250])
add_block('built-in/Note',[sys,'/','Tem'])
set_param([sys,'/','Tem'],...
'position',[655,222,660,227])
add_block('built-in/Note',[sys,'/','ids'])
set_param([sys,'/','ids'],...
'position',[655,185,660,190])
add_block('built-in/Note',[sys,'/','iqs'])
set_param([sys,'/','iqs'],...
'position',[655,160,660,165])
add_block('built-in/Note',[sys,'/','vds'])
set_param([sys,'/','vds'],...
'position',[545,210,550,215])
add_block('built-in/Note',[sys,'/','vqs'])
set_param([sys,'/','vqs'],...
'position',[545,175,550,180])
add_block('built-in/Note',[sys,'/','v0s'])
set_param([sys,'/','v0s'],...
'position',[545,243,550,248])
% Subsystem 'qds2abc'.
new_system([sys,'/','qds2abc'])
set_param([sys,'/','qds2abc'],'Location',[487,91,1006,301])
add_block('built-in/Inport',[sys,'/','qds2abc/iqs'])
set_param([sys,'/','qds2abc/iqs'],...
'position',[45,35,65,55])
add_block('built-in/Inport',[sys,'/','qds2abc/ids'])
set_param([sys,'/','qds2abc/ids'],...
'Port','2',...
'position',[45,95,65,115])
add_block('built-in/Inport',[sys,'/','qds2abc/i0s'])
set_param([sys,'/','qds2abc/i0s'],...
'Port','3',...
'position',[45,155,65,175])
add_block('built-in/Mux',[sys,'/','qds2abc/Mux'])
set_param([sys,'/','qds2abc/Mux'],...
'inputs','3',...
'position',[110,34,135,176])
add_block('built-in/Fcn',[sys,'/','qds2abc/Fcn1'])
set_param([sys,'/','qds2abc/Fcn1'],...
'Expr','-(u[1]+sqrt(3)*u[2])/2 +u[3]',...
'position',[185,92,370,118])
add_block('built-in/Outport',[sys,'/','qds2abc/ibs'])
set_param([sys,'/','qds2abc/ibs'],...
'Port','2',...
'position',[440,95,460,115])
add_block('built-in/Outport',[sys,'/','qds2abc/ias'])
set_param([sys,'/','qds2abc/ias'],...
'position',[440,40,460,60])
add_block('built-in/Fcn',[sys,'/','qds2abc/Fcn2'])
set_param([sys,'/','qds2abc/Fcn2'],...
'Expr','-(u[1]-sqrt(3)*u[2])/2 + u[3]',...
'position',[185,147,375,173])
add_block('built-in/Fcn',[sys,'/','qds2abc/Fcn'])
set_param([sys,'/','qds2abc/Fcn'],...
'Expr','u[1] + u[3]',...
'position',[185,36,375,64])
add_block('built-in/Outport',[sys,'/','qds2abc/ics'])
set_param([sys,'/','qds2abc/ics'],...
'Port','3',...
'position',[440,150,460,170])
add_line([sys,'/','qds2abc'],[70,105;105,105])
add_line([sys,'/','qds2abc'],[70,45;80,45;80,60;105,60])
add_line([sys,'/','qds2abc'],[70,165;80,165;80,150;105,150])
add_line([sys,'/','qds2abc'],[140,105;180,105])
add_line([sys,'/','qds2abc'],[375,105;435,105])
add_line([sys,'/','qds2abc'],[380,50;435,50])
add_line([sys,'/','qds2abc'],[140,105;155,105;155,50;180,50])
add_line([sys,'/','qds2abc'],[140,105;155,105;155,160;180,160])
add_line([sys,'/','qds2abc'],[380,160;435,160])
% Finished composite block 'qds2abc'.
set_param([sys,'/','qds2abc'],...
'position',[700,175,740,235])
add_block('built-in/Gain',[sys,'/','wb'])
set_param([sys,'/','wb'],...
'Gain','wb',...
'position',[705,252,735,278])
add_block('built-in/Note',[sys,'/','ias'])
set_param([sys,'/','ias'],...
'position',[780,165,785,170])
add_block('built-in/Note',[sys,'/','ibs'])
set_param([sys,'/','ibs'],...
'position',[780,185,785,190])
add_block('built-in/Note',[sys,'/','ics'])
set_param([sys,'/','ics'],...
'position',[780,205,785,210])
add_block('built-in/Note',[sys,'/','ids^e*'])
set_param([sys,'/','ids^e*'],...
'position',[240,186,245,191])
% Subsystem 'qde2abc'.
new_system([sys,'/','qde2abc'])
set_param([sys,'/','qde2abc'],'Location',[20,323,713,613])
add_block('built-in/Outport',[sys,'/','qde2abc/ics*'])
set_param([sys,'/','qde2abc/ics*'],...
'Port','3',...
'position',[565,185,585,205])
add_block('built-in/Outport',[sys,'/','qde2abc/ibs*'])
set_param([sys,'/','qde2abc/ibs*'],...
'Port','2',...
'position',[565,135,585,155])
add_block('built-in/Inport',[sys,'/','qde2abc/ids^e*'])
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?