⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s4eig.m

📁 Gives all the matlab codes for dynamic simulation of electric machinery by Chee-Mun Ong
💻 M
📖 第 1 页 / 共 2 页
字号:
function [ret,x0,str,ts,xts]=s4eig(t,x,u,flag);
%s4eig	is the M-file description of the SIMULINK system named s4eig.
%	The block-diagram can be displayed by typing: s4eig.
%
%	SYS=s4eig(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 s4eig 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 s4eig with a FLAG of zero:
%	[SIZES]=s4eig([],[],[],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',[213,66,922,484])
     open_system(sys)
end;
set_param(sys,'algorithm',     'RK-45')
set_param(sys,'Start time',    '0.0')
set_param(sys,'Stop time',     '999999')
set_param(sys,'Min step size', '0.0001')
set_param(sys,'Max step size', '10')
set_param(sys,'Relative error','1e-3')
set_param(sys,'Return vars',   '')

add_block('built-in/Outport',[sys,'/','out_4'])
set_param([sys,'/','out_4'],...
		'orientation',1,...
		'Port','4',...
		'position',[430,240,450,260])

add_block('built-in/Inport',[sys,'/','vdse'])
set_param([sys,'/','vdse'],...
		'Port','2',...
		'position',[95,260,115,280])

add_block('built-in/Inport',[sys,'/','vqse'])
set_param([sys,'/','vqse'],...
		'position',[95,80,115,100])

add_block('built-in/Note',[sys,'/','psiqre'])
set_param([sys,'/','psiqre'],...
		'position',[265,112,270,117])

add_block('built-in/Note',[sys,'/','psidse'])
set_param([sys,'/','psidse'],...
		'position',[285,247,290,252])

add_block('built-in/Note',[sys,'/','idse_'])
set_param([sys,'/','idse_'],...
		'position',[280,262,285,267])

add_block('built-in/Inport',[sys,'/','Tmech'])
set_param([sys,'/','Tmech'],...
		'Port','3',...
		'position',[95,315,115,335])


%     Subsystem  'Qaxis'.

new_system([sys,'/','Qaxis'])
set_param([sys,'/','Qaxis'],'Location',[360,432,1192,846])

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

add_block('built-in/Fcn',[sys,'/','Qaxis/Fcn'])
set_param([sys,'/','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,'/','Qaxis/Mux1'])
set_param([sys,'/','Qaxis/Mux1'],...
		'inputs','3',...
		'position',[120,267,140,343])

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

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

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

add_block('built-in/Inport',[sys,'/',['Qaxis/(wr-we)*psidr''//wb']])
set_param([sys,'/',['Qaxis/(wr-we)*psidr''//wb']],...
		'Port','2',...
		'position',[55,295,75,315])

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

add_block('built-in/Fcn',[sys,'/','Qaxis/Fcn2'])
set_param([sys,'/','Qaxis/Fcn2'],...
		'Expr','wb*(u[2] +(rpr/xplr)*(u[3]-u[1]))',...
		'position',[175,289,355,321])
add_line([sys,'/','Qaxis'],[695,230;750,230;750,370;465,370;465,330;500,330])
add_line([sys,'/','Qaxis'],[430,305;500,305])
add_line([sys,'/','Qaxis'],[530,320;540,320])
add_line([sys,'/','Qaxis'],[430,305;470,305;470,245;495,245])
add_line([sys,'/','Qaxis'],[425,155;435,155;435,215;85,215;85,165;100,165])
add_line([sys,'/','Qaxis'],[430,305;470,305;470,245;90,245;90,280;115,280])
add_line([sys,'/','Qaxis'],[145,305;170,305])
add_line([sys,'/','Qaxis'],[695,230;750,230;750,95;80,95;80,125;100,125])
add_line([sys,'/','Qaxis'],[695,230;750,230;750,370;90,370;90,330;115,330])
add_line([sys,'/','Qaxis'],[695,230;750,230;750,185;480,185;480,155;500,155])
add_line([sys,'/','Qaxis'],[425,155;460,155;460,130;500,130])
add_line([sys,'/','Qaxis'],[530,145;545,145])
add_line([sys,'/','Qaxis'],[525,230;535,230])
add_line([sys,'/','Qaxis'],[425,155;460,155;460,215;495,215])
add_line([sys,'/','Qaxis'],[360,305;395,305])
add_line([sys,'/','Qaxis'],[385,155;390,155])
add_line([sys,'/','Qaxis'],[130,155;135,155])
add_line([sys,'/','Qaxis'],[645,145;785,145])
add_line([sys,'/','Qaxis'],[425,155;460,155;460,80;785,80])
add_line([sys,'/','Qaxis'],[70,145;100,145])
add_line([sys,'/','Qaxis'],[80,305;115,305])
add_line([sys,'/','Qaxis'],[645,320;785,320])
add_line([sys,'/','Qaxis'],[430,305;470,305;470,275;785,275])
add_line([sys,'/','Qaxis'],[70,185;100,185])


%     Finished composite block 'Qaxis'.

set_param([sys,'/','Qaxis'],...
		'position',[215,80,250,135])


%     Subsystem  'Daxis'.

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

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

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

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

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

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

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

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

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

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

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

add_block('built-in/Integrator',[sys,'/','Daxis/psids_'])
set_param([sys,'/','Daxis/psids_'],...
		'Initial','Psidso',...

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -