image thumbnail

MATLAB 5.x, SIMULINK 2.x: poradnik uzytkownika

by

 

22 Aug 2002 (Updated )

Companion Software

mech_gui.m
%-----------------------------------------------------------------
% Copyright 1998, by Bogumila and Zbigniew Mrozek, Krakow. For use
% with the book "MATLAB 5.x, SIMULINK 2.x, poradnik uzytkownika"
% (PLJ Warszawa, 1998,  ISBN 83-7101-376-0).
%-----------------------------------------------------------------
% % see page 196, chapter 8.5.5 of the book,
%
% oblicza przebieg czasowy ukladu mechanicznego
% masa   m  zawieszona na spr/e/zynie
% tlumienie     beta     jako zmienna globalna
% suwak (interfejs GUI)  sluzy do ustawiania tlumienia
format compact;
global beta t2 %NIE oddzielac przecinkiem !!!
steps=0; beta=0.5  %beta=1.5
t0=0;t2=12;            % zadany przedzial
mechplot;
set(gcf,'MenuBar','none','Name',...
   'MASA DRGAJACA; uzyto Handle Graphics',...
   'NumberTitle','off');  %nadano tytul


        %  przygotowanie suwaka  (identyfikatorem jest Vslider)
Vslider = uicontrol('Style','slider');       % przygotowanie suwaka
   set(Vslider,'Units','normalized');        % normalizowanie jednostek 0...1
   set(Vslider,'Position',[.94 .055 .035 .4]);% polozenie (x1, y1, szer,wysok)
   set(Vslider,'Callback','mechslid');       % mechslid.m zawiera dodatkowe polecenia
   set(Vslider,'Min',0,'Max',3);        % dopuszczalny zakres wartosci nastawianej
   set(Vslider,'String', 'tlumienie')   %napis obok suwaka
   set(Vslider,'Value',beta)            %inicjowanie polozenia suwaka

        %  przygotowanie okienka dialogowego  (identyfikatorem jest Vedit)
        %  do informowania o aktualnym tlumieniu 'beta'
Vedit = uicontrol('Style','edit');           %
   set(Vedit,'Units','normalized');
   set(Vedit,'Position',[.94 .01 .05 .04]);  %
   set(Vedit,'String',num2str(beta))     % inicjowanie wskazania
        % brak 'CallBack' - okienko sluzy tylko do wyswietlenia wartosci beta

rbutton = uicontrol('Style','radiobutton'); % Create
   set(rbutton ,'Units','normalized');          % wzgledne: (0,0) ... (1,1)
   set(rbutton ,'Position',[.9 .94 .1 .04]);  % Position the editable text
   set(rbutton ,'String', 'Stop','CallBack','close');

timMenu=uimenu(gcf, 'Label', 'Czas_symulacji');
        r0=uimenu(timMenu, 'Label','Tend=5' ,'CallBack','t2=5, mechplot');
        r1=uimenu(timMenu, 'Label','Tend=10','CallBack','t2=10,mechplot','Separator','on');
        r2=uimenu(timMenu, 'Label','Tend=15','CallBack','t2=15,mechplot','Separator','on');
        r3=uimenu(timMenu, 'Label','Tend=20','CallBack','t2=20,mechplot','Separator','on');
        r4=uimenu(timMenu, 'Label','Tend=50','CallBack','t2=50,mechplot','Separator','on');
stopmenu=uimenu(gcf, 'Label','STOP','CallBack','close');

Contact us