Wiadomości do kolejnych ćwiczeń zawarte są w rozdziale 10 podręcznika [1]
% ten program zapisz do pliku „Bilard1.m” clear; clc; % ------ Definiowanie okna graficznego: SZER=700; WYS=500; f1=figure('position',[50,80,SZER,WYS]); set(f1,'color',[0.5 0.5 0]); %------- Definiowanie przycisku: przycisk1=uicontrol('string','SKOCZ', 'Callback','przyrost'); %------- Definiowanie napisu x=100; y=20; w=35; h=35; napis1=uicontrol('Style','text', 'string','TUTAJ') set(napis1,'position',[x,y,w,h]); dx=10; dy=20; % to skok napisu do nowej pozycji %------- Definiowanie suwaka: suwak1=uicontrol('style','Slider', 'position',[20,50,20,140]); set(suwak1,'Callback','kolor') |
% ten podprogram zapisz do pliku „kolor.m” bb=get(suwak1,'Value'); % set(f1,'Color',[1-sqrt(bb) bb bb^4]); set(napis1,'BackgroundColor',[1-sqrt(bb) bb bb^4]); |
% ten podprogram zapisz do pliku „przyrost.m” x=x+dx; y=y+dy; if y+h>=WYS | y<=0 dy=-dy; beep; end set(napis1,'position',[x,y,w,h]); pause(0.1); set(f1,'Color',[x/SZER 0.5 1-y/WYS]); |
% Program Kalkulatorek % Próbowanie interfejsu graficznego do najprostszych obliczeń: clear; clc F1=figure('Name','Kalkulatorek', 'Color',[0.6 0.6 1], 'Menubar','none'); % - to formatka set(F1,'Units','characters'); % Okienka edycyjne: e1=uicontrol('Style','Edit','Units','normalized','Position',[0.1, 0.6, 0.15, 0.05]); e2=uicontrol('Style','Edit','Units','normalized','Position',[0.35, 0.6, 0.15, 0.05]); % Przyciski: b1=uicontrol('Style','Pushbutton','Units','normalized'); set(b1,'Position',[0.275, 0.65, 0.05, 0.05],'String','+','Callback','Dodaj'); b2=uicontrol('Style','Pushbutton','Units','normalized'); set(b2,'Position',[0.275, 0.55, 0.05, 0.05],'String','-','Callback','Odejmij'); % Tekst wynikowy: t1=uicontrol('Style','Text','Units','normalized','Position',[0.6, 0.6, 0.15, 0.05]); set(t1,'String',' = '); |
% to jest podprogram "Dodaj" wywoływany przyciskiem "+" x1 = str2double(get(e1, 'String')); x2 = str2double(get(e2, 'String')); y=x1+x2; set(t1,'String',[' = ',num2str(y)]); |
% to jest podprogram "Odejmij" wywoływany przyciskiem "-" x1 = str2double(get(e1, 'String')); x2 = str2double(get(e2, 'String')); y=x1-x2; set(t1,'String',[' = ',num2str(y)]); |
Poniżej masz zawartość trzech plików: pierwiastki.m, rysuj.m, nowe.m
Utwórz takie pliki i uzupełnij miejsca kropek .... odpowiednimi poleceniami., a nastepnie uruchom i
sprawdź działanie. Zmodyfikuj kolor i tytuł okna graficznego
% program pierwiastki % cz.1 INICJACJA - jednorazowa clear;clc a=[1 5 2 20]; r=roots(a); xp=min(real(r))-5; xk=max(real(r))+5; x=linspace(xp,xk); f1=figure; a1=axes('position',[0.06,0.06,0.5,0.85]); %---- Tekst i suwak dla współczynnika b: t1=uicontrol('style','text','units','normalized','position',[0.6,0.85,0.1,0.05]); s1=uicontrol('style','slider','units','normalized','position',[0.71,0.85,0.28,0.05 ]); set(s1,'Min',-20,'Max',20,'Callback','nowe'); %---- Tekst i suwak dla wyrazu wolnego d: t2=.... s2=.... set(s2,'Min',-500,'Max',500,'Callback','nowe'); %---- t03=uicontrol('style','text','units','normalized','position',[0.6,0.65,0.2,0.04]); set(t03,'string','Pierwiastki:') %---- Wyświetlanie wartości pierwiastków t3=uicontrol('style','text','units','normalized','position',[0.6,0.60,0.2,0.04]); t4=.... t5=.... rysuj; |
% procedura rysuj % wyznaczenie ciągu wartości wielomianu % dla danego wektora wspolczynnikow a % oraz ciągu wartości x wyznaczonego przez: x=linspace(xp,xk) y=polyval(a,x); plot(x,y); grid on st=['W(x)=x^3+',num2str(a(2)),'x^2+',num2str(a(3)),'x+',num2str(a(4)) ]; title(st); set(t1,'string',['b=',num2str(a(2))]); set(t2,'string',['d=',num2str(a(4))]); set(t3,'string',['r1=',num2str(r(1))]); set(t4,'string',['r2=',num2str(r(2))]); set(t5,'string',['r3=',num2str(r(3))]); |
% procedura nowe a(2)=get(s1,'Value'); a(4)=get(s2,'Value'); r=roots(a); % wyznacza 3 pierwiastki (takze zespolone) xp=min(real(r))-5; xk=max(real(r))+5; x=linspace(xp,xk); % wyznacza ciąg 100 wartości x między xp xk rysuj; % wywoluje procedure rysuj |
Zad.domowe 4. Interfejs okienkowy do programu z poprzedniego zadania domowego oraz
dokończenie w domu zadań nieskończonych na ćwiczeniach.