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

📄 truck_s.m

📁 FISMAT accommodates different arithmetic operators, fuzzification and defuzzification algorithm, imp
💻 M
字号:
function [ret,x0,str]=truck_s(t,x,u,flag);%TRUCK_S	is the M-file description of the SIMULINK system named TRUCK_S.%	The block-diagram can be displayed by typing: TRUCK_S.%%	SYS=TRUCK_S(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 TRUCK_S 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 TRUCK_S with a FLAG of zero:%	[SIZES]=TRUCK_S([],[],[],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.%	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.2)if(0 == (nargin + nargout))     set_param(sys,'Location',[100,100,600,400])     open_system(sys)end;set_param(sys,'algorithm',		'RK-23')set_param(sys,'Start time',	'0.0')set_param(sys,'Stop time',		'200')set_param(sys,'Min step size',	'0.0001')set_param(sys,'Max step size',	'0.1')set_param(sys,'Relative error','1e-3')set_param(sys,'Return vars',	'')add_block('built-in/Note',[sys,'/',['Backing up a truck using a fuzzy controller. (Kong,Kosko 1992) . Fuzzy Toolbox O.Wolkenhauer 29-April 1994',13,'Execute truck_a.m from workspace to run the simulation.']])set_param([sys,'/',['Backing up a truck using a fuzzy controller. (Kong,Kosko 1992) . Fuzzy Toolbox O.Wolkenhauer 29-April 1994',13,'Execute truck_a.m from workspace to run the simulation.']],...		'position',[286,375,287,376])add_block('built-in/Note',[sys,'/',['*)  Subsystem function name: FUZZY21 und Function parameters: ''truckc1'',Ts',13,'see truck_d.m and  truck_a.m for more details.']])set_param([sys,'/',['*)  Subsystem function name: FUZZY21 und Function parameters: ''truckc1'',Ts',13,'see truck_d.m and  truck_a.m for more details.']],...		'position',[257,315,258,316])add_block('built-in/S-function',[sys,'/',['''truck_c1'',Ts']])set_param([sys,'/',['''truck_c1'',Ts']],...		'function name','fuzzy21',...		'parameters','''truck_c1'',Ts',...		'position',[145,140,205,180])add_block('built-in/Mux',[sys,'/','Mux'])set_param([sys,'/','Mux'],...		'inputs','2',...		'position',[100,140,130,175])add_block('built-in/Gain',[sys,'/','Kx'])set_param([sys,'/','Kx'],...		'position',[50,130,70,150])add_block('built-in/Gain',[sys,'/','Kphi'])set_param([sys,'/','Kphi'],...		'position',[50,180,70,200])add_block('built-in/Note',[sys,'/','*)'])set_param([sys,'/','*)'],...		'position',[170,195,171,196])%     Subsystem  'Truck Simulation'.new_system([sys,'/','Truck Simulation'])set_param([sys,'/','Truck Simulation'],'Location',[4,42,628,468])add_block('built-in/Outport',[sys,'/','Truck Simulation/out_1'])set_param([sys,'/','Truck Simulation/out_1'],...		'position',[400,80,420,100])add_block('built-in/Note',[sys,'/','Truck Simulation/theta'])set_param([sys,'/','Truck Simulation/theta'],...		'position',[70,140,71,141])add_block('built-in/Inport',[sys,'/','Truck Simulation/in_1'])set_param([sys,'/','Truck Simulation/in_1'],...		'position',[20,150,40,170])add_block('built-in/Unit Delay',[sys,'/','Truck Simulation/initial phi'])set_param([sys,'/','Truck Simulation/initial phi'],...		'orientation',2,...		'x0','IPHI*pi/180',...		'Sample time','Ts',...		'position',[50,65,100,85])add_block('built-in/Sum',[sys,'/','Truck Simulation/Sum2'])set_param([sys,'/','Truck Simulation/Sum2'],...		'position',[105,117,125,173])add_block('built-in/Note',[sys,'/','Truck Simulation/y-position'])set_param([sys,'/','Truck Simulation/y-position'],...		'position',[350,190,351,191])add_block('built-in/Sum',[sys,'/','Truck Simulation/Sum1'])set_param([sys,'/','Truck Simulation/Sum1'],...		'position',[295,182,315,238])add_block('built-in/Fcn',[sys,'/','Truck Simulation/Fcn1'])set_param([sys,'/','Truck Simulation/Fcn1'],...		'position',[235,185,275,205])add_block('built-in/Fcn',[sys,'/','Truck Simulation/Fcn'])set_param([sys,'/','Truck Simulation/Fcn'],...		'Expr','cos(u[1])',...		'position',[240,65,280,85])add_block('built-in/Sum',[sys,'/','Truck Simulation/Sum'])set_param([sys,'/','Truck Simulation/Sum'],...		'position',[295,64,315,111])add_block('built-in/Note',[sys,'/','Truck Simulation/x-position'])set_param([sys,'/','Truck Simulation/x-position'],...		'position',[350,65,351,66])add_block('built-in/Unit Delay',[sys,'/','Truck Simulation/initial x '])set_param([sys,'/','Truck Simulation/initial x '],...		'orientation',2,...		'x0','IXPOS',...		'Sample time','Ts',...		'position',[270,140,320,160])add_block('built-in/Note',[sys,'/','Truck Simulation/phi'])set_param([sys,'/','Truck Simulation/phi'],...		'position',[190,135,191,136])add_block('built-in/Gain',[sys,'/','Truck Simulation/movdis  '])set_param([sys,'/','Truck Simulation/movdis  '],...		'Gain','MOVDIS',...		'position',[195,185,215,205])add_block('built-in/Gain',[sys,'/','Truck Simulation/movdis'])set_param([sys,'/','Truck Simulation/movdis'],...		'Gain','MOVDIS',...		'position',[195,65,215,85])add_block('built-in/Fcn',[sys,'/','Truck Simulation/Fcn2'])set_param([sys,'/','Truck Simulation/Fcn2'],...		'Expr','(u[1]>=100) + (u[1]<=0)',...		'position',[445,140,485,160])add_block('built-in/Stop simulation',[sys,'/',['Truck Simulation/Stop simulation',13,'if non-zero',13,'']])set_param([sys,'/',['Truck Simulation/Stop simulation',13,'if non-zero',13,'']],...		'position',[510,134,555,166])add_block('built-in/Outport',[sys,'/','Truck Simulation/out_2'])set_param([sys,'/','Truck Simulation/out_2'],...		'Port','2',...		'position',[405,200,425,220])add_block('built-in/Unit Delay',[sys,'/','Truck Simulation/initial y '])set_param([sys,'/','Truck Simulation/initial y '],...		'orientation',2,...		'x0','IYPOS',...		'Sample time','Ts',...		'position',[270,265,320,285])add_block('built-in/Fcn',[sys,'/','Truck Simulation/Fcn3'])set_param([sys,'/','Truck Simulation/Fcn3'],...		'Expr','(u[1]<=0) + (u[1]>=100)',...		'position',[445,265,485,285])add_block('built-in/Stop simulation',[sys,'/',['Truck Simulation/Stop simulation',13,'if non-zero',13,'1']])set_param([sys,'/',['Truck Simulation/Stop simulation',13,'if non-zero',13,'1']],...		'position',[510,259,555,291])add_block('built-in/Note',[sys,'/','Truck Simulation/Truck and dock simulation'])set_param([sys,'/','Truck Simulation/Truck and dock simulation'],...		'position',[300,15,301,16])add_block('built-in/Gain',[sys,'/','Truck Simulation/Rad -> Deg'])set_param([sys,'/','Truck Simulation/Rad -> Deg'],...		'Gain','180/pi',...		'position',[205,310,225,330])add_block('built-in/Outport',[sys,'/','Truck Simulation/out_3'])set_param([sys,'/','Truck Simulation/out_3'],...		'Port','3',...		'position',[260,310,280,330])add_line([sys,'/','Truck Simulation'],[45,75;25,75;25,130;95,130])add_line([sys,'/','Truck Simulation'],[265,275;250,275;250,225;285,225])add_line([sys,'/','Truck Simulation'],[265,150;250,150;250,100;285,100])add_line([sys,'/','Truck Simulation'],[320,90;375,90;375,150;330,150])add_line([sys,'/','Truck Simulation'],[280,195;285,195])add_line([sys,'/','Truck Simulation'],[285,75;285,75])add_line([sys,'/','Truck Simulation'],[45,160;95,160])add_line([sys,'/','Truck Simulation'],[375,90;390,90])add_line([sys,'/','Truck Simulation'],[220,75;230,75])add_line([sys,'/','Truck Simulation'],[220,195;225,195])add_line([sys,'/','Truck Simulation'],[130,145;170,145;170,75;110,75])add_line([sys,'/','Truck Simulation'],[170,75;185,75])add_line([sys,'/','Truck Simulation'],[170,145;170,195;185,195])add_line([sys,'/','Truck Simulation'],[490,150;500,150])add_line([sys,'/','Truck Simulation'],[490,275;500,275])add_line([sys,'/','Truck Simulation'],[375,150;435,150])add_line([sys,'/','Truck Simulation'],[320,210;370,210;370,275;330,275])add_line([sys,'/','Truck Simulation'],[370,210;395,210])add_line([sys,'/','Truck Simulation'],[370,275;435,275])add_line([sys,'/','Truck Simulation'],[170,195;170,320;195,320])add_line([sys,'/','Truck Simulation'],[230,320;250,320])%     Finished composite block 'Truck Simulation'.set_param([sys,'/','Truck Simulation'],...		'position',[280,132,310,188])add_block('built-in/Note',[sys,'/','Fuzzy-Controller'])set_param([sys,'/','Fuzzy-Controller'],...		'position',[171,115,172,116])add_block('built-in/Gain',[sys,'/','Deg -> Rad'])set_param([sys,'/','Deg -> Rad'],...		'Gain','pi/180',...		'position',[240,150,260,170])add_block('built-in/Outport',[sys,'/','x-Position'])set_param([sys,'/','x-Position'],...		'position',[380,80,400,100])add_block('built-in/Outport',[sys,'/','theta'])set_param([sys,'/','theta'],...		'Port','4',...		'position',[380,40,400,60])add_block('built-in/Outport',[sys,'/','phi'])set_param([sys,'/','phi'],...		'Port','3',...		'position',[385,230,405,250])add_block('built-in/Outport',[sys,'/','y-Position'])set_param([sys,'/','y-Position'],...		'Port','2',...		'position',[385,150,405,170])add_line(sys,[135,160;135,160])add_line(sys,[75,140;90,150])add_line(sys,[75,190;90,165])add_line(sys,[210,160;230,160])add_line(sys,[265,160;270,160])add_line(sys,[315,140;340,140;340,90;370,90])add_line(sys,[340,90;20,90;20,140;40,140])add_line(sys,[315,180;335,180;335,240;20,240;20,190;40,190])add_line(sys,[335,240;375,240])add_line(sys,[220,160;220,50;370,50])add_line(sys,[315,160;375,160])% 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]=',sys,'(t,x,u,flag);'])		else			eval(['ret =', sys,'(t,x,u,flag);'])		end	else		[ret,x0,str] = feval(sys);	endend

⌨️ 快捷键说明

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