No BSD License  

Highlights from
Dynamic Simulations of Electric Machinery : Using MATLAB/SIMULINK

image thumbnail
from Dynamic Simulations of Electric Machinery : Using MATLAB/SIMULINK by Wei Jiang
Modelling and simulation of electrical machines with matlab/simulink

[ret,x0,str,ts,xts]=s4stp(t,x,u,flag);
function [ret,x0,str,ts,xts]=s4stp(t,x,u,flag);
%s4stp	is the M-file description of the SIMULINK system named s4stp.
%	The block-diagram can be displayed by typing: s4stp.
%
%	SYS=s4stp(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 s4stp 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 s4stp with a FLAG of zero:
%	[SIZES]=s4stp([],[],[],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',[76,59,630,240])
     open_system(sys)
end;
set_param(sys,'algorithm',     'Adams/Gear')
set_param(sys,'Start time',    '0.0')
set_param(sys,'Stop time',     '1.2')
set_param(sys,'Min step size', '0.0001')
set_param(sys,'Max step size', '0.0005')
set_param(sys,'Relative error','1e-6')
set_param(sys,'Return vars',   '')


%     Subsystem  's4eig'.

new_system([sys,'/','s4eig'])
set_param([sys,'/','s4eig'],'Location',[437,96,1056,514])

add_block('built-in/Note',[sys,'/','s4eig/psidse'])
set_param([sys,'/','s4eig/psidse'],...
		'position',[190,260,195,265])

add_block('built-in/Note',[sys,'/','s4eig/psiqre'])
set_param([sys,'/','s4eig/psiqre'],...
		'position',[185,120,190,125])

add_block('built-in/Note',[sys,'/','s4eig/psidre'])
set_param([sys,'/','s4eig/psidre'],...
		'position',[194,310,199,315])

add_block('built-in/Note',[sys,'/','s4eig/idse'])
set_param([sys,'/','s4eig/idse'],...
		'position',[190,275,195,280])

add_block('built-in/Note',[sys,'/','s4eig/Tem'])
set_param([sys,'/','s4eig/Tem'],...
		'position',[344,162,349,167])


%     Subsystem  's4eig/Rotor'.

new_system([sys,'/','s4eig/Rotor'])
set_param([sys,'/','s4eig/Rotor'],'Location',[219,388,854,634])

add_block('built-in/Note',[sys,'/','s4eig/Rotor/Tdamp'])
set_param([sys,'/','s4eig/Rotor/Tdamp'],...
		'position',[415,180,420,185])

add_block('built-in/Outport',[sys,'/','s4eig/Rotor/out_wr//wb'])
set_param([sys,'/','s4eig/Rotor/out_wr//wb'],...
		'Port','2',...
		'position',[550,123,570,147])

add_block('built-in/Integrator',[sys,'/','s4eig/Rotor/1//s'])
set_param([sys,'/','s4eig/Rotor/1//s'],...
		'Initial','wrbywbo',...
		'position',[480,118,515,152])

add_block('built-in/Gain',[sys,'/','s4eig/Rotor/1//2H'])
set_param([sys,'/','s4eig/Rotor/1//2H'],...
		'Gain','1/(2*H)',...
		'position',[395,109,460,161])

add_block('built-in/Sum',[sys,'/','s4eig/Rotor/Taccl'])
set_param([sys,'/','s4eig/Rotor/Taccl'],...
		'inputs','++-',...
		'position',[355,95,375,175])

add_block('built-in/Gain',[sys,'/',['s4eig/Rotor/Damping',13,'coefficient']])
set_param([sys,'/',['s4eig/Rotor/Damping',13,'coefficient']],...
		'orientation',2,...
		'Gain','Domega',...
		'position',[440,180,515,220])

add_block('built-in/Inport',[sys,'/','s4eig/Rotor/in_iqse'])
set_param([sys,'/','s4eig/Rotor/in_iqse'],...
		'Port','2',...
		'position',[60,80,80,100])

add_block('built-in/Inport',[sys,'/','s4eig/Rotor/in_psidse'])
set_param([sys,'/','s4eig/Rotor/in_psidse'],...
		'position',[60,40,80,60])

add_block('built-in/Inport',[sys,'/','s4eig/Rotor/in_idse'])
set_param([sys,'/','s4eig/Rotor/in_idse'],...
		'Port','4',...
		'position',[60,160,80,180])

add_block('built-in/Mux',[sys,'/','s4eig/Rotor/Mux'])
set_param([sys,'/','s4eig/Rotor/Mux'],...
		'position',[110,31,130,189])

add_block('built-in/Fcn',[sys,'/','s4eig/Rotor/Tem'])
set_param([sys,'/','s4eig/Rotor/Tem'],...
		'Expr','Tfactor*(u[1]*u[2] - u[3]*u[4])',...
		'position',[150,94,310,126])

add_block('built-in/Inport',[sys,'/','s4eig/Rotor/in_Tmech'])
set_param([sys,'/','s4eig/Rotor/in_Tmech'],...
		'Port','5',...
		'position',[60,200,80,220])

add_block('built-in/Outport',[sys,'/','s4eig/Rotor/out_Tem'])
set_param([sys,'/','s4eig/Rotor/out_Tem'],...
		'position',[540,50,560,70])

add_block('built-in/Inport',[sys,'/','s4eig/Rotor/in_psiqse'])
set_param([sys,'/','s4eig/Rotor/in_psiqse'],...
		'Port','3',...
		'position',[60,120,80,140])
add_line([sys,'/','s4eig/Rotor'],[435,200;330,200;330,160;350,160])
add_line([sys,'/','s4eig/Rotor'],[520,135;530,135;520,200])
add_line([sys,'/','s4eig/Rotor'],[315,110;325,110;325,60;535,60])
add_line([sys,'/','s4eig/Rotor'],[315,110;350,110])
add_line([sys,'/','s4eig/Rotor'],[465,135;475,135])
add_line([sys,'/','s4eig/Rotor'],[380,135;390,135])
add_line([sys,'/','s4eig/Rotor'],[85,210;310,210;310,135;350,135])
add_line([sys,'/','s4eig/Rotor'],[520,135;545,135])
add_line([sys,'/','s4eig/Rotor'],[135,110;145,110])
add_line([sys,'/','s4eig/Rotor'],[85,50;105,50])
add_line([sys,'/','s4eig/Rotor'],[85,90;105,90])
add_line([sys,'/','s4eig/Rotor'],[85,130;105,130])
add_line([sys,'/','s4eig/Rotor'],[85,170;105,170])


%     Finished composite block 's4eig/Rotor'.

set_param([sys,'/','s4eig/Rotor'],...
		'orientation',2,...
		'position',[365,159,405,231])

add_block('built-in/Note',[sys,'/','s4eig/wr//wb'])
set_param([sys,'/','s4eig/wr//wb'],...
		'position',[335,195,340,200])

add_block('built-in/Note',[sys,'/','s4eig/psiqse'])
set_param([sys,'/','s4eig/psiqse'],...
		'position',[200,75,205,80])


%     Subsystem  's4eig/Qaxis'.

new_system([sys,'/','s4eig/Qaxis'])
set_param([sys,'/','s4eig/Qaxis'],'Location',[368,432,1200,846])

add_block('built-in/Outport',[sys,'/',['s4eig/Qaxis/out_psiqr''']])
set_param([sys,'/',['s4eig/Qaxis/out_psiqr''']],...
		'Port','4',...
		'position',[790,265,810,285])

add_block('built-in/Note',[sys,'/',['s4eig/Qaxis/psiqr''']])
set_param([sys,'/',['s4eig/Qaxis/psiqr''']],...
		'position',[445,281,450,286])

add_block('built-in/Mux',[sys,'/','s4eig/Qaxis/Mux2'])
set_param([sys,'/','s4eig/Qaxis/Mux2'],...
		'inputs','2',...
		'position',[505,291,525,344])

add_block('built-in/Mux',[sys,'/','s4eig/Qaxis/Mux3'])
set_param([sys,'/','s4eig/Qaxis/Mux3'],...
		'inputs','2',...
		'position',[500,198,520,262])

add_block('built-in/Fcn',[sys,'/','s4eig/Qaxis/Fcn3'])
set_param([sys,'/','s4eig/Qaxis/Fcn3'],...
		'Expr','xM*(u[1]/xls+u[2]/xplr)',...
		'position',[540,212,690,248])

add_block('built-in/Fcn',[sys,'/','s4eig/Qaxis/Fcn2'])
set_param([sys,'/','s4eig/Qaxis/Fcn2'],...
		'Expr','wb*(u[2] +(rpr/xplr)*(u[3]-u[1]))',...
		'position',[200,289,380,321])

add_block('built-in/Note',[sys,'/',['s4eig/Qaxis/iqr''']])
set_param([sys,'/',['s4eig/Qaxis/iqr''']],...
		'position',[655,297,660,302])

add_block('built-in/Integrator',[sys,'/',['s4eig/Qaxis/psiqr''_']])
set_param([sys,'/',['s4eig/Qaxis/psiqr''_']],...
		'Initial','Psipqro',...
		'position',[400,290,425,320])

add_block('built-in/Fcn',[sys,'/','s4eig/Qaxis/Fcn5'])
set_param([sys,'/','s4eig/Qaxis/Fcn5'],...
		'Expr','(u[1]-u[2])/xplr',...
		'position',[545,305,640,335])

add_block('built-in/Outport',[sys,'/',['s4eig/Qaxis/out_iqr''']])
set_param([sys,'/',['s4eig/Qaxis/out_iqr''']],...
		'Port','3',...
		'position',[790,310,810,330])

add_block('built-in/Note',[sys,'/','s4eig/Qaxis/psiqm'])
set_param([sys,'/','s4eig/Qaxis/psiqm'],...
		'position',[720,205,725,210])

add_block('built-in/Note',[sys,'/','s4eig/Qaxis/psiqs'])
set_param([sys,'/','s4eig/Qaxis/psiqs'],...
		'position',[435,130,440,135])

add_block('built-in/Integrator',[sys,'/','s4eig/Qaxis/psiqs_'])
set_param([sys,'/','s4eig/Qaxis/psiqs_'],...
		'Initial','Psiqso',...
		'position',[395,140,420,170])

add_block('built-in/Note',[sys,'/','s4eig/Qaxis/iqs'])
set_param([sys,'/','s4eig/Qaxis/iqs'],...
		'position',[655,125,660,130])

add_block('built-in/Mux',[sys,'/','s4eig/Qaxis/Mux4'])
set_param([sys,'/','s4eig/Qaxis/Mux4'],...
		'inputs','2',...
		'position',[505,119,525,166])

add_block('built-in/Fcn',[sys,'/','s4eig/Qaxis/Fcn4'])
set_param([sys,'/','s4eig/Qaxis/Fcn4'],...
		'Expr','(u[1]-u[2])/xls',...
		'position',[550,131,640,159])

add_block('built-in/Outport',[sys,'/','s4eig/Qaxis/out_iqs'])
set_param([sys,'/','s4eig/Qaxis/out_iqs'],...
		'Port','2',...
		'position',[790,135,810,155])

add_block('built-in/Outport',[sys,'/','s4eig/Qaxis/out_psiqs'])
set_param([sys,'/','s4eig/Qaxis/out_psiqs'],...
		'position',[790,70,810,90])

add_block('built-in/Fcn',[sys,'/','s4eig/Qaxis/Fcn'])
set_param([sys,'/','s4eig/Qaxis/Fcn'],...
		'Expr','wb*(u[2]-(we/wb)*u[4]+(rs/xls)*(u[1]-u[3]))',...
		'position',[140,141,380,169])

add_block('built-in/Mux',[sys,'/','s4eig/Qaxis/Mux1'])
set_param([sys,'/','s4eig/Qaxis/Mux1'],...
		'inputs','3',...
		'position',[120,267,140,343])

add_block('built-in/Inport',[sys,'/','s4eig/Qaxis/in_vqs'])
set_param([sys,'/','s4eig/Qaxis/in_vqs'],...
		'position',[45,135,65,155])

add_block('built-in/Inport',[sys,'/','s4eig/Qaxis/in_psids'])
set_param([sys,'/','s4eig/Qaxis/in_psids'],...
		'Port','3',...
		'position',[45,175,65,195])

add_block('built-in/Mux',[sys,'/','s4eig/Qaxis/Mux'])
set_param([sys,'/','s4eig/Qaxis/Mux'],...
		'position',[105,113,125,197])

add_block('built-in/Inport',[sys,'/',['s4eig/Qaxis/(wr-we)*psidr''//wb']])
set_param([sys,'/',['s4eig/Qaxis/(wr-we)*psidr''//wb']],...
		'Port','2',...
		'position',[55,295,75,315])
add_line([sys,'/','s4eig/Qaxis'],[695,230;750,230;750,370;465,370;465,330;500,330])
add_line([sys,'/','s4eig/Qaxis'],[430,305;500,305])
add_line([sys,'/','s4eig/Qaxis'],[530,320;540,320])
add_line([sys,'/','s4eig/Qaxis'],[430,305;470,305;470,245;495,245])
add_line([sys,'/','s4eig/Qaxis'],[425,155;435,155;435,215;85,215;85,165;100,165])
add_line([sys,'/','s4eig/Qaxis'],[430,305;470,305;470,245;90,245;90,280;115,280])
add_line([sys,'/','s4eig/Qaxis'],[145,305;195,305])
add_line([sys,'/','s4eig/Qaxis'],[695,230;750,230;750,95;80,95;80,125;100,125])
add_line([sys,'/','s4eig/Qaxis'],[695,230;750,230;750,370;90,370;90,330;115,330])
add_line([sys,'/','s4eig/Qaxis'],[695,230;750,230;750,185;480,185;480,155;500,155])
add_line([sys,'/','s4eig/Qaxis'],[425,155;460,155;460,130;500,130])
add_line([sys,'/','s4eig/Qaxis'],[530,145;545,145])
add_line([sys,'/','s4eig/Qaxis'],[525,230;535,230])
add_line([sys,'/','s4eig/Qaxis'],[425,155;460,155;460,215;495,215])
add_line([sys,'/','s4eig/Qaxis'],[385,305;395,305])
add_line([sys,'/','s4eig/Qaxis'],[385,155;390,155])
add_line([sys,'/','s4eig/Qaxis'],[130,155;135,155])
add_line([sys,'/','s4eig/Qaxis'],[645,145;785,145])
add_line([sys,'/','s4eig/Qaxis'],[425,155;460,155;460,80;785,80])
add_line([sys,'/','s4eig/Qaxis'],[70,145;100,145])
add_line([sys,'/','s4eig/Qaxis'],[80,305;115,305])
add_line([sys,'/','s4eig/Qaxis'],[645,320;785,320])
add_line([sys,'/','s4eig/Qaxis'],[430,305;470,305;470,275;785,275])
add_line([sys,'/','s4eig/Qaxis'],[70,185;100,185])


%     Finished composite block 's4eig/Qaxis'.

set_param([sys,'/','s4eig/Qaxis'],...
		'position',[130,90,165,145])

add_block('built-in/Note',[sys,'/','s4eig/iqse'])
set_param([sys,'/','s4eig/iqse'],...
		'position',[195,90,200,95])


%     Subsystem  's4eig/Daxis'.

new_system([sys,'/','s4eig/Daxis'])
set_param([sys,'/','s4eig/Daxis'],'Location',[213,440,1045,854])

add_block('built-in/Outport',[sys,'/',['s4eig/Daxis/out_psidr''']])
set_param([sys,'/',['s4eig/Daxis/out_psidr''']],...
		'Port','4',...
		'position',[785,260,805,280])

add_block('built-in/Note',[sys,'/',['s4eig/Daxis/psidr''']])
set_param([sys,'/',['s4eig/Daxis/psidr''']],...
		'position',[440,276,445,281])

add_block('built-in/Mux',[sys,'/','s4eig/Daxis/Mux2'])
set_param([sys,'/','s4eig/Daxis/Mux2'],...
		'inputs','2',...
		'position',[500,286,520,339])

add_block('built-in/Mux',[sys,'/','s4eig/Daxis/Mux3'])
set_param([sys,'/','s4eig/Daxis/Mux3'],...
		'inputs','2',...
		'position',[495,193,515,257])

add_block('built-in/Fcn',[sys,'/','s4eig/Daxis/Fcn3'])
set_param([sys,'/','s4eig/Daxis/Fcn3'],...
		'Expr','xM*(u[1]/xls+u[2]/xplr)',...
		'position',[535,207,685,243])

add_block('built-in/Note',[sys,'/',['s4eig/Daxis/idr''']])
set_param([sys,'/',['s4eig/Daxis/idr''']],...
		'position',[650,292,655,297])

add_block('built-in/Integrator',[sys,'/',['s4eig/Daxis/psidr''_']])
set_param([sys,'/',['s4eig/Daxis/psidr''_']],...
		'Initial','Psipdro',...
		'position',[395,287,425,313])

add_block('built-in/Fcn',[sys,'/','s4eig/Daxis/Fcn5'])
set_param([sys,'/','s4eig/Daxis/Fcn5'],...
		'Expr','(u[1]-u[2])/xplr',...
		'position',[540,300,635,330])

add_block('built-in/Outport',[sys,'/',['s4eig/Daxis/out_idr''']])
set_param([sys,'/',['s4eig/Daxis/out_idr''']],...
		'Port','3',...
		'position',[785,305,805,325])

add_block('built-in/Note',[sys,'/','s4eig/Daxis/psiqm'])
set_param([sys,'/','s4eig/Daxis/psiqm'],...
		'position',[715,200,720,205])

add_block('built-in/Note',[sys,'/','s4eig/Daxis/psids'])
set_param([sys,'/','s4eig/Daxis/psids'],...
		'position',[430,125,435,130])

add_block('built-in/Integrator',[sys,'/','s4eig/Daxis/psids_'])
set_param([sys,'/','s4eig/Daxis/psids_'],...
		'Initial','Psidso',...
		'position',[390,136,415,164])

add_block('built-in/Note',[sys,'/','s4eig/Daxis/ids'])
set_param([sys,'/','s4eig/Daxis/ids'],...
		'position',[650,120,655,125])

add_block('built-in/Mux',[sys,'/','s4eig/Daxis/Mux4'])
set_param([sys,'/','s4eig/Daxis/Mux4'],...
		'inputs','2',...
		'position',[500,114,520,161])

add_block('built-in/Fcn',[sys,'/','s4eig/Daxis/Fcn4'])
set_param([sys,'/','s4eig/Daxis/Fcn4'],...
		'Expr','(u[1]-u[2])/xls',...
		'position',[545,126,635,154])

add_block('built-in/Outport',[sys,'/','s4eig/Daxis/out_ids'])
set_param([sys,'/','s4eig/Daxis/out_ids'],...
		'Port','2',...
		'position',[785,130,805,150])

add_block('built-in/Outport',[sys,'/','s4eig/Daxis/out_psids'])
set_param([sys,'/','s4eig/Daxis/out_psids'],...
		'position',[785,65,805,85])

add_block('built-in/Fcn',[sys,'/','s4eig/Daxis/Fcn'])
set_param([sys,'/','s4eig/Daxis/Fcn'],...
		'Expr','wb*(u[2]+(we/wb)*u[4]+(rs/xls)*(u[1]-u[3]))',...
		'position',[130,135,370,165])

add_block('built-in/Mux',[sys,'/','s4eig/Daxis/Mux'])
set_param([sys,'/','s4eig/Daxis/Mux'],...
		'position',[95,108,115,192])

add_block('built-in/Inport',[sys,'/','s4eig/Daxis/in_vds'])
set_param([sys,'/','s4eig/Daxis/in_vds'],...
		'position',[40,130,60,150])

add_block('built-in/Inport',[sys,'/','s4eig/Daxis/in_psiqs'])
set_param([sys,'/','s4eig/Daxis/in_psiqs'],...
		'Port','3',...
		'position',[35,170,55,190])

add_block('built-in/Inport',[sys,'/',['s4eig/Daxis/in_(wr//wb)*psiqr''']])
set_param([sys,'/',['s4eig/Daxis/in_(wr//wb)*psiqr''']],...
		'Port','2',...
		'position',[40,290,60,310])

add_block('built-in/Mux',[sys,'/','s4eig/Daxis/Mux1'])
set_param([sys,'/','s4eig/Daxis/Mux1'],...
		'inputs','3',...
		'position',[100,262,120,338])

add_block('built-in/Fcn',[sys,'/','s4eig/Daxis/Fcn2'])
set_param([sys,'/','s4eig/Daxis/Fcn2'],...
		'Expr','wb*(-u[2] +(rpr/xplr)*(u[3]-u[1]))',...
		'position',[165,284,345,316])
add_line([sys,'/','s4eig/Daxis'],[690,225;745,225;745,365;460,365;460,325;495,325])
add_line([sys,'/','s4eig/Daxis'],[430,300;495,300])
add_line([sys,'/','s4eig/Daxis'],[525,315;535,315])
add_line([sys,'/','s4eig/Daxis'],[430,300;465,300;465,240;490,240])
add_line([sys,'/','s4eig/Daxis'],[420,150;455,150;455,210;80,210;90,160])
add_line([sys,'/','s4eig/Daxis'],[430,300;465,300;465,240;75,240;75,275;95,275])
add_line([sys,'/','s4eig/Daxis'],[125,300;160,300])
add_line([sys,'/','s4eig/Daxis'],[690,225;745,225;745,90;75,90;75,120;90,120])
add_line([sys,'/','s4eig/Daxis'],[690,225;745,225;745,365;75,365;75,325;95,325])
add_line([sys,'/','s4eig/Daxis'],[690,225;745,225;745,180;475,180;475,150;495,150])
add_line([sys,'/','s4eig/Daxis'],[420,150;455,150;455,125;495,125])
add_line([sys,'/','s4eig/Daxis'],[525,140;540,140])
add_line([sys,'/','s4eig/Daxis'],[520,225;530,225])
add_line([sys,'/','s4eig/Daxis'],[420,150;455,150;455,210;490,210])
add_line([sys,'/','s4eig/Daxis'],[350,300;390,300])
add_line([sys,'/','s4eig/Daxis'],[375,150;385,150])
add_line([sys,'/','s4eig/Daxis'],[120,150;125,150])
add_line([sys,'/','s4eig/Daxis'],[640,140;780,140])
add_line([sys,'/','s4eig/Daxis'],[420,150;455,150;455,75;780,75])
add_line([sys,'/','s4eig/Daxis'],[65,140;90,140])
add_line([sys,'/','s4eig/Daxis'],[65,300;95,300])
add_line([sys,'/','s4eig/Daxis'],[640,315;780,315])
add_line([sys,'/','s4eig/Daxis'],[430,300;465,300;465,270;780,270])
add_line([sys,'/','s4eig/Daxis'],[60,180;90,180])


%     Finished composite block 's4eig/Daxis'.

set_param([sys,'/','s4eig/Daxis'],...
		'position',[135,270,170,325])

add_block('built-in/Product',[sys,'/','s4eig/Prod1'])
set_param([sys,'/','s4eig/Prod1'],...
		'orientation',2,...
		'position',[140,218,160,242])

add_block('built-in/Product',[sys,'/','s4eig/Prod'])
set_param([sys,'/','s4eig/Prod'],...
		'orientation',2,...
		'position',[140,169,160,191])

add_block('built-in/Note',[sys,'/','s4eig/(wr-we)//wb'])
set_param([sys,'/','s4eig/(wr-we)//wb'],...
		'position',[215,200,220,205])

add_block('built-in/Sum',[sys,'/','s4eig/Sum'])
set_param([sys,'/','s4eig/Sum'],...
		'orientation',2,...
		'inputs','+-',...
		'position',[255,205,270,240])

add_block('built-in/Constant',[sys,'/','s4eig/we//wb'])
set_param([sys,'/','s4eig/we//wb'],...
		'orientation',2,...
		'position',[295,220,315,240])

add_block('built-in/Outport',[sys,'/','s4eig/out_wr//wb'])
set_param([sys,'/','s4eig/out_wr//wb'],...
		'orientation',1,...
		'Port','4',...
		'position',[330,255,350,275])

add_block('built-in/Outport',[sys,'/','s4eig/out_Tem'])
set_param([sys,'/','s4eig/out_Tem'],...
		'orientation',2,...
		'Port','3',...
		'position',[265,140,285,160])

add_block('built-in/Inport',[sys,'/','s4eig/in_vqse'])
set_param([sys,'/','s4eig/in_vqse'],...
		'position',[30,90,50,110])

add_block('built-in/Inport',[sys,'/','s4eig/in_vdse'])
set_param([sys,'/','s4eig/in_vdse'],...
		'Port','2',...
		'position',[30,270,50,290])

add_block('built-in/Inport',[sys,'/','s4eig/in_Tmech'])
set_param([sys,'/','s4eig/in_Tmech'],...
		'Port','3',...
		'position',[30,330,50,350])

add_block('built-in/Outport',[sys,'/','s4eig/out_idse'])
set_param([sys,'/','s4eig/out_idse'],...
		'Port','2',...
		'position',[515,280,535,300])

add_block('built-in/Outport',[sys,'/','s4eig/out_iqse'])
set_param([sys,'/','s4eig/out_iqse'],...
		'position',[520,100,540,120])
add_line([sys,'/','s4eig'],[170,95;175,95;175,85;85,85;85,320;130,320])
add_line([sys,'/','s4eig'],[250,225;165,225])
add_line([sys,'/','s4eig'],[250,225;205,225;205,185;165,185])
add_line([sys,'/','s4eig'],[290,230;275,230])
add_line([sys,'/','s4eig'],[360,215;275,215])
add_line([sys,'/','s4eig'],[175,290;495,290;495,210;410,210])
add_line([sys,'/','s4eig'],[135,230;110,230;110,120;125,120])
add_line([sys,'/','s4eig'],[170,95;475,95;475,195;410,195])
add_line([sys,'/','s4eig'],[170,110;495,110;495,180;410,180])
add_line([sys,'/','s4eig'],[135,180;120,180;130,300])
add_line([sys,'/','s4eig'],[175,290;450,290;450,165;410,165])
add_line([sys,'/','s4eig'],[170,140;215,140;215,175;165,175])
add_line([sys,'/','s4eig'],[175,320;205,320;205,235;165,235])
add_line([sys,'/','s4eig'],[55,100;125,100])
add_line([sys,'/','s4eig'],[170,110;515,110])
add_line([sys,'/','s4eig'],[360,180;325,180;325,150;290,150])
add_line([sys,'/','s4eig'],[360,215;340,215;340,250])
add_line([sys,'/','s4eig'],[55,280;130,280])
add_line([sys,'/','s4eig'],[175,290;510,290])
add_line([sys,'/','s4eig'],[175,275;185,275;185,260;100,260;100,140;125,140])
add_line([sys,'/','s4eig'],[55,340;430,340;430,225;410,225])


%     Finished composite block 's4eig'.

set_param([sys,'/','s4eig'],...
		'position',[180,26,260,154])

add_block('built-in/To Workspace',[sys,'/','To Workspace'])
set_param([sys,'/','To Workspace'],...
		'mat-name','y',...
		'buffer','500',...
		'position',[395,122,445,138])

add_block('built-in/Mux',[sys,'/','Mux'])
set_param([sys,'/','Mux'],...
		'inputs','2',...
		'position',[330,111,360,144])

add_block('built-in/Note',[sys,'/','wr//wb'])
set_param([sys,'/','wr//wb'],...
		'position',[280,115,285,120])


%     Subsystem  'Vqse'.

new_system([sys,'/','Vqse'])
set_param([sys,'/','Vqse'],'Location',[5,40,315,196])

add_block('built-in/Outport',[sys,'/','Vqse/out_1'])
set_param([sys,'/','Vqse/out_1'],...
		'position',[285,60,305,80])

add_block('built-in/Look Up Table',[sys,'/','Vqse/Look-Up Table'])
set_param([sys,'/','Vqse/Look-Up Table'],...
		'Input_Values','t',...
		'Output_Values','y',...
		'position',[210,58,250,82])

add_block('built-in/Fcn',[sys,'/','Vqse/Fcn1'])
set_param([sys,'/','Vqse/Fcn1'],...
		'Expr','rem(u[1],period)',...
		'position',[110,60,150,80])

add_block('built-in/Clock',[sys,'/','Vqse/Clock'])
set_param([sys,'/','Vqse/Clock'],...
		'position',[45,60,65,80])
add_line([sys,'/','Vqse'],[255,70;280,70])
add_line([sys,'/','Vqse'],[70,70;105,70])
add_line([sys,'/','Vqse'],[155,70;205,70])
set_param([sys,'/','Vqse'],...
		'Mask Display','plot([t,t+period,t+2*period],[y,y,y])',...
		'Mask Type','Repeating table',...
		'Mask Dialogue','Repeating table.\nEnter values of time and output for first cycle.|Time values:|Output values:')
set_param([sys,'/','Vqse'],...
		'Mask Translate','period = max(@1); t = @1; y = @2;',...
		'Mask Help','Repeats cycle given in table. Time values should be monotonically increasing.',...
		'Mask Entries','[0 1 1 1.2]\/[Vm Vm Vm+1 Vm+1]\/')


%     Finished composite block 'Vqse'.

set_param([sys,'/','Vqse'],...
		'position',[85,33,145,67])

add_block('built-in/Constant',[sys,'/','Tmech'])
set_param([sys,'/','Tmech'],...
		'Value','-Tb',...
		'position',[85,120,145,140])

add_block('built-in/Clock',[sys,'/','Clock'])
set_param([sys,'/','Clock'],...
		'orientation',1,...
		'position',[295,90,315,110])

add_block('built-in/Scope',[sys,'/','Scope'])
set_param([sys,'/','Scope'],...
		'Vgain','2.000000',...
		'Hgain','1.200000',...
		'Vmax','4.000000',...
		'Hmax','2.400000',...
		'Window',[82,261,668,480])
open_system([sys,'/','Scope'])
set_param([sys,'/','Scope'],...
		'position',[410,84,435,106])


%     Subsystem  'm4stp'.

new_system([sys,'/','m4stp'])
set_param([sys,'/','m4stp'],'Location',[275,5308650,520,5308755])

add_block('built-in/Note',[sys,'/',['m4stp/This masked block uses m4stp.m',13,'to initialize the s4stp.m with',13,'machine parameters and plot the simulated',13,'results.']])
set_param([sys,'/',['m4stp/This masked block uses m4stp.m',13,'to initialize the s4stp.m with',13,'machine parameters and plot the simulated',13,'results.']],...
		'position',[140,41,145,46])
set_param([sys,'/','m4stp'],...
		'Mask Display','Initialize\nand plot',...
		'Mask Type','Masked block of m4stp.m',...
		'Mask Dialogue','eval(''m4stp'')',...
		'Mask Help','Uses m4stp.m to initialize and plot')


%     Finished composite block 'm4stp'.

set_param([sys,'/','m4stp'],...
		'Drop Shadow',4,...
		'position',[327,22,407,59])
add_line(sys,[305,115;305,120;325,120])
add_line(sys,[365,130;390,130])
add_line(sys,[150,50;175,50])
add_line(sys,[265,135;325,135])
add_line(sys,[150,130;175,130])
add_line(sys,[365,130;375,130;375,95;405,95])

drawnow

% Return any arguments.
if (nargin | nargout)
	% Must use feval here to access system in memory
	if (nargin > 3)
		if (flag == 0)
			eval(['[ret,x0,str,ts,xts]=',sys,'(t,x,u,flag);'])
		else
			eval(['ret =', sys,'(t,x,u,flag);'])
		end
	else
		[ret,x0,str,ts,xts] = feval(sys);
	end
else
	drawnow % Flash up the model and execute load callback
end

Contact us at files@mathworks.com