?? truck_s.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 + -