INFORMATYKA
di
INFORMATYKA
3
LAB
INSTRUKCJA DO ĆWICZENIA NR 3
TEMAT:
MATLAB – GRAFICZNY INTERFEJS UŻYTKOWNIKA
INFOMATYKA
Przedmiot: INFORMATYKA – Katedra Robotyki i Mechatroniki AGH
Laboratorium 3 „ MATLAB – Graficzny Interfejs Uż ytkownika”
I.
CEL ĆWICZENIA:
Celem ćwiczenia jest zapoznanie się z możliwościami tworzenia graficznego interfejsu użytkownika w MATLABIE (GUI), zapoznanie się możliwościami tworzenia okien z menu rozwijalnym, z przyciskami oraz polami do wprowadzania informacji. GUI zapewnia łatwą i intuicyjną obsługę nawet zaawansowanych programów obliczeniowych oraz zapewnia przejrzystość programu i systematyzację.
II.
PODSTAWOWE KOMENDY UŻYWANE W ĆWICZENIU: Komenda
Przykład
Opis
Tekstowy tryb komunikacji z uż ytkownikiem
disp
disp(‘Masa =’)
Wyświetla komunikaty lub żądane zmienne na ekranie
num2str
disp([‘M=’, num2str(A),])
Zamienia liczbę na ciąg znaków – używane przy
wyświetlaniu
input
R=input(‘Ile jabłek? ’)
Umożliwia wprowadzenie tekstu przez użytkownika
ischar
SPRAWDZAM=ischar(A)
Sprawdza, czy macierz A jest macierzą ze znakami
isnumeric
TEST=isnumeric(A)
Sprawdza, czy macierz A jest macierzą z numerami
Graficzny tryb komunikacji z uż ytkownikiem
clear
clear all; clear A
Czyści zmienne wszystkie lub wybrane z przestrzeni roboczej
close
close all close(okno1)
Zamyka wszystkie aktywne okna lub tylko wybrane (uchwyt) echo
echo on; echo off all
Wł i wył wyśw. informacji na ekranie podczas wyk. funkcji figure
okno3=figure(3)
Otwiera okno o uchwycie „okno3” i numerze 3
get
get(2); get(okno3)
Wyświetla pełną listę ustawień obiektu
get(okno3,color);
Wyświetla wartość własności kolor dla obiektu „okno3”
set
set(okno3,’color’,[1 1 0])
Set ustawia parametry obiektu np okna3
Niektóre (ważniejsze) parametry okien, które można ustawić funkcją „set” dla obiektów typu Figure set(okno3,'inverthardcopy','on');
Ustawia wydruk okna na białym tle
set(okno3,'MenuBar','none');
Nie wyświetla standardowego menu (File, Edit, Help itp)
set(okno3,'Name','Okno z GUI');
Ustawia nazwę nowo otwartego okna
set(okno3,'Numbertitle','off');
Czy wyświetlać czy nie nazwę okna
set(okno3,'Units','normalized');
Jednostki wymiaru ekranu i położenia kursora tu od 0 do1
set(okno,'Position',[0.2 0.2 0.5 0.5]);
Ustawia pozycje startową otwieranego okna na ekranie monitora komputerowego – (wartości od 0 do 1)
set(okno3,’color’,[0.2 1 0.5])
Ustawia kolor obiektu RGB
set(okno3,'Resize','on');
Włącza możliwość zmiany wymiaru okna
axes (NIE
UklWsp1=axes('position',[0.1
Wstawia nowy układ współrzędnych do aktywnego okna w AXIS!!!)
0.1 0.8 0.8])
miejscu 0.1; 0.1 i o wielkości 0.8 na 0.8
title, xlabel
title(‘funkcja x’)
Wszystkie parametry wykresów takie same jak poprzednio!
Tworzenike obiektłw GUI (przyciski (wciskane, radiobuttons), napisy okna edycyjne lub suwaki uicontrol
uicontrol(‘style’,’pushbutton’... uicontrol – tworzy obiekty w przykładzie został utworzony
‘position’,[10 10 100 200]...
przycisk w lewym dolnym rogu aktywnego okna, który
‘string’, ‘czyść’...
czyści zawartość aktywnego układu współrzędnych style:
‘callback’,’cla’)
pushbutton, radiobutton, popupmenu, edit, togglebutton, checkbox, text, slider, frame, listbox, popupmenu
uimenu
F=uimenu(‘Label’,’Glowne’)
Tworzy Menu w pasku górnym okna (nazwa: Glowne)
G=uimenu(F,’Label’,’PodmF’)
Tworzy podmenu menu nadrzędnego F (nazwa: PodmF)
Z=uimenu(G,’Label’,’Plot’)
Tworzy podmenu menu nadrzędnego G (nazwa: Plot)
Callback
Z=uimenu(‘Callback’,’MF.m’)
Wykonuje komendy zapisane w lini (tu uruchamia MF.m)
uigetfile
[nazwa]=uigetfile('*.*');
Gotowa funkcja do otwierania plików
uiputfile
[N]= uiputfile ('*.*',’Zapisz’);
Gotowa funkcja do zapisywania plików
reset
reset(okno3)
Przywraca domyślne własności obiektu „okno3”
2
Przedmiot: INFORMATYKA – Katedra Robotyki i Mechatroniki AGH
Laboratorium 3 „ MATLAB – Graficzny Interfejs Uż ytkownika”
delete
delete(okno3), delete(2)
Usuwa obiekt o danym identyfikatorze
clf
clf; clf reset;
Czyści aktywny rysunek usuwając grafikę
clf reset;
j.w. ale ustawia domyślne parametry
cla
cla; cla reset;
Usuwa obiekty z aktywnego układu współrzędnych
III.
ZADANIA DO WYKONANIA:
Uwaga: Każ de zadanie wykonać w osobnym m-pliku.
1. Napisz program komunikujący się z użytkownikiem w oknie głównym MATLABA. Każda osoba ma za zadanie wykonać polecenie z tabeli poniżej. Numer polecenia jest zgodny z numerem komputera, przy którym siedzi dana osoba. Program ma rysować wykres żądanej funkcji (patrz tabela), przy czym zadanie Tekstowego Interfejsu Użytkownika opierać się ma na pytaniu o zadane parametry wykresu. Jako komunikat MATLABA należy wypisać na ekranie, co oznaczają poszczególne zmienne. Parametry, o które program nie będzie pytał, należy przyjąć dowolnie, ale w taki sposób, aby wykres był widoczny. Rysowane wykresy powinny być opisane (tytuł, oś x, oś y) a jednostki na osiach x oraz y powinny być zgodne z wprowadzonymi parametrami.
1
sin(at+b); zm.:a=?; b=?; t=[od..do]=?
9
cos(at+b); zm.:a=?; b=?; t=[od..do]=?
2
sin2(at+b); zm.:a=?; b=?; t=[od..do]=?
10
cos2(at+b); zm.:a=?; b=?; t=[od..do]=?
3
sin3(at+b); zm.:a=?; b=?; t=[od..do]=?
11
cos3(at+b); zm.:a=?; b=?; t=[od..do]=?
4
sin5(at+b); zm.:a=?; b=?; t=[od..do]=?
12
cos5(at+b); zm.:a=?; b=?; t=[od..do]=?
5
arctan(at+b); zm.:a=?; b=?; t=[od..do]=?
13
ax2+bx+c; zm.:a=?; b=?; c=?; t=[od..do]=?
6
arctan2(at+b); zm.:a=?; b=?; t=[od..do]=?
14
ax3+bx+cx; zm.:a=?; b=?; c=?; x=[od..do]=?
7
arctan3(at+b); zm.:a=?; b=?; t=[od..do]=?
15
ax4+bx+c; zm.:a=?; b=?; c=?; x=[od..do]=?
8
arctan4(at+b); zm.:a=?; b=?; t=[od..do]=?
16
ax3+bx2+c; zm.:a=?; b=?; c=?; x=[od..do]=?
a=? – tzn. parametr „a” wykresu jest niewiadomą i użytkownik jest pytany przed wykreśleniem wykresu o jego wartość.
t=[od..do] – tzn. użytkownik pytany jest w jakim zakresie zmiennej „t” należy narysować żądaną funkcję.
2. Do wyżej wymienionego zadania zbuduj graficzny interfejs użytkownika, który będzie umożliwiał
wprowadzanie danych w polach typu „EDIT”, będzie zawierał przycisk (dowolny) służący do wyświetlania wykresu oraz przycisk „wyczyść wykres”, który będzie czyścił zawartość pola z wykresem. Może również zawierać menu rozwijalne na górnym pasku okna z tymi samymi funkcjami, które będą używane poprzez przyciski oraz dodatkowymi informacjami na przykład informacje o programie. Okno programu powinno być zatytułowane imieniem i nazwiskiem osoby oddającej sprawozdanie oraz powinno mieć numer komputera, przy którym siedzi dana osoba.
3. Zbuduj okno z graficznym interfejsem użytkownika spełniające zadania opisane poniżej. Zamieść widok okna w sprawozdaniu.
− Okno programu misi mieć tytuł taki jak imię i nazwisko autora.
− Okno powinno mieć 3 zakładki: 2 z funkcjami programu (wczytaj plik, rysuj wykres) a jedna z informacją o autorze oraz o programie (Imię Nazwisko autora, informacje o programie oraz o tym jakie funkcje on wykonuje - krótko).
− Okno powinno mieć w dowolnym miejscu przycisk „czyść”- który czyści zawartość wyświetlonych wykresów.
− Zadaniem programu jest wczytanie z dysku dowolnego pliku w formacie graficznym JPG a następnie wyświetlenie na 4 wykresach w oknie kolejno: wczytanego obrazka, składowej R obrazka, składowej G
oraz składowej B (zgodnie z zadaniem wykonywanym w poprzednim ćwiczeniu).
3
Przedmiot: INFORMATYKA – Katedra Robotyki i Mechatroniki AGH
Laboratorium 3 „ MATLAB – Graficzny Interfejs Uż ytkownika”
IV.
SPRAWOZDANIE:
W sprawozdaniu należy zamieścić wszystkie zrealizowane w punkcie III zadania. Każde zadanie powinno być zatytułowane i ponumerowane, zgodnie z numeracją w instrukcji. Jeżeli jest to wymagane to sprawozdanie powinno zawierać metodę wykonania i wynik w postaci rysunku lub listingu. W sprawozdaniu nie umieszczamy wniosków, chyba że jest to wyraźnie zaznaczone.
Ogólne uwagi dotyczące sprawozdania:
• Strona tytułowa, powinna zawierać: Imiona i nazwiska osób, numer grupy, nazwę przedmiotu, tytuł
ćwiczenia, numer ćwiczenia i datę wykonania ćwiczenia,
• Układ strony powinien być następujący: marginesy 0,5 cm z każdej strony, czcionka 10, odstęp 1.
• Wykresy możliwie małe, ale czytelne, opisane i umieszczone bezpośrednio pod lub obok układu tak, żeby było wiadomo, który przebieg należy do którego układu,
• Sprawozdanie nie powinno być długie, ale powinno zawierać wszystkie niezbędne informacje.
Uwaga: Sprawozdanie należ y przesyłać na pocztę lub wskazany przez prowadzą cego serwer FTP w formacie PDF zatytułowane w nastę pują cy sposób:
NumerGrupy_Nazwisko_Imię _ć wNumerCwiczenia.pdf na przykład:
13_Kowalski_Jan_ć w1.pdf
14_Nowak_Krzysztof_ć w9.pdf
15_Student_Janusz_ć w8.pdf
Sprawozdania oddane w innej formie lub z nieprawidłowym opisem nie bę dą przyjmowane!
UWAGA:
Do sprawozdania należy dołączyć m-pliki zbudowane w trakcie wykonywania ćwiczenia, przy czym każdy z m-plików powinien zawierać w opisie (w komentarzu lub wyświetlone na ekranie) nazwisko autora. M-pliki należy wgrać na serwer spakowane do folderu ZIP o nazwie identycznej z nazwą sprawozdania.
4