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

📄 truck0.m

📁 FISMAT accommodates different arithmetic operators, fuzzification and defuzzification algorithm, imp
💻 M
字号:
function truck0(sys,cb)% TRUCK0 initializes animation.%%      TRUCK0(SYS,CB) initializes the truck animation.  If%      a truck animation figure is already on the screen, it%      is brought to the front.  Otherwise a new figure is created.%      Important animation handles are placed in the figure's UserData.TimeClock = 0;%RefSignal = str2num(get_param([sys '/' cb],'Value'));XTruck = IXPOS;YTruck = IYPOS;phiTruck = IPHI;%XCart = 0;%Theta = 0;XDelta = 2;YDelta = 2;%PDelta = 0.2;FigureName = 'Truck Visualization';%XPendTop = XCart + 10*sin(Theta); % Will be zero%YPendTop = 10*cos(Theta);         % Will be 10%PDcosT = PDelta*cos(Theta);       % Will be 0.2%PDsinT = -PDelta*sin(Theta);      % Will be zeroNotOnScreen = 1;Figures = get(0,'Chil');for INDEX=1:length(Figures),   if strcmp(get(Figures(INDEX),'Type'),'figure'),      if strcmp(get(Figures(INDEX),'Name'),FigureName),         set(0,'CurrentF',Figures(INDEX));         NotOnScreen = 0;         FigUD = get(Figures(INDEX),'UserData');         Truck = FigUD(1);         %Cart = FigUD(1);         %Pend = FigUD(2);         TimeField = FigUD(3);         %RefMark = FigUD(5);         %set(RefMark,'XData',RefSignal+[-XDelta 0 XDelta]);         set(TimeField,'String',num2str(TimeClock));         set(Truck,'XData',ones(2,1)*[XTruck-XDelta XTruck+XDelta]);         %set(Cart,'XData',ones(2,1)*[XCart-XDelta XCart+XDelta]);         %set(Pend,'XData', ...         % [XPendTop-PDcosT XPendTop+PDcosT; XCart-PDcosT XCart+PDcosT], ...         % 'YData',[YPendTop-PDsinT YPendTop+PDsinT; -PDsinT PDsinT]);      end % if right name   end % if ifigureend % for INDEXif NotOnScreen,   Fig = figure('Unit','pixel','Pos',[100 100 500 300], ...                'Name',FigureName);   axes('Unit','pixel','Pos',[50 50 400 200],'CLim',[1 64], ...        'Xlim',[0 100],'Ylim',[0 100],'Vis','off');   %axes('Unit','pixel','Pos',[50 50 400 200],'CLim',[1 64], ...   %     'Xlim',[-12 12],'Ylim',[-2 10],'Vis','off');   Truck= surface('XData',ones(2,1)*[XTruck-XDelta XTruck+XDelta], ...    'YData',[YTruck-YDelta YTruck+YDelta],'ZData',zeros(2),'CData', ...    ones(2), 'Erase', 'xor');    %Cart = surface('XData',ones(2,1)*[XCart-XDelta XCart+XDelta], ...    % 'YData',[0 0; -2 -2],'ZData',zeros(2),'CData',ones(2), ...    %'Erase','xor');    %Pend = surface('XData',[XPendTop-PDcosT XPendTop+PDcosT; ...    %                      XCart-PDcosT XCart+PDcosT], ...    %'YData',[YPendTop-PDsinT YPendTop+PDsinT; -PDsinT PDsinT], ...    %'ZData',zeros(2),'CData',11*ones(2),'Erase','xor');   uicontrol('Style','text','Unit','pixel','Pos',[0 0 500 50]);   uicontrol('Style','text','Unit','pixel','Pos',[150 0 100 25], ...    'Horiz','right','String','Time: ');   TimeField = uicontrol('Style','text','Unit','pixel', ...    'Pos',[250 0 100 25],'Horiz','left', ...    'String',num2str(TimeClock));   SlideControl = uicontrol('Style','slide','Unit','pixel', ...    'Pos',[100 25 300 22],'Min',-9,'Max',9, ...    'Value',str2num(get_param([sys '/' cb],'Value')),'Call', ...    ['set_param(''' sys '/' cb ''',''Value'',' ...     'num2str(get(get(gcf,''CurrentO''),''Value'')));']);   %RefMark = patch(RefSignal+[-XDelta 0 XDelta],[-2 0 -2],22);   uicontrol('Style','push','Pos',[415 15 70 20],'String','Close', ...    'Call','delete(gcf);');   uicontrol('Style','push','Pos',[15 15 70 20],'String','Playback', ...    'Call', ...    ['ud = get(gcf,''UserData'');' ...     'if exist(''t'')==1,' ...     '   index = find(abs(round(t/0.1) - t/0.1) < 1e-8);' ...     '   for i=index''', ...     '      truckset(t(i),ud,y(i,:));' ...     %'      pendsets(t(i),ud,y(i,:));' ...     '   end,' ...     'else,' ...     '   disp(''Must run simulation first.''),' ...     'end']);   %set(RefMark,'Erase','xor');   set(Fig,'UserData',[Truck TimeField]);   %set(Fig,'UserData',[Cart Pend TimeField SlideControl RefMark]);enddrawnow% end truck0

⌨️ 快捷键说明

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