
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.