Graficzna prezentacja wyników w MATLABIE Bondos Magdalena Eti 9.1 Obiekty graficzne KaŜdy rysunek bądź wykres składa się z szeregu obiektów graficznych KaŜdy obiekt posiada atrybuty, które moŝe ustawiać uŝytkownik Struktura obiektów jest hierarchiczna Dwa poziomy prezentacji graficznej funkcje grafiki dwu- i trójwymiarowej wysokiego poziomu funkcje graficzne niskiego poziomu 2 1
Podstawowe funkcje graficzne Funkcje tworzące wykres plot - skala osi x i y liniowa loglog - skala osi x i y logarytmiczna semilogx - skala osi x logarytmiczna, y liniowa semilogy - skala osi x liniowa, y logarytmiczna 3 Podstawowe funkcje graficzne Funkcje definiujące wykres title - dodaje tytuł do utworzonego wykresu xlabel - dodaje etykietę opisującą oś x ylabel - dodaje etykietę opisującą oś y text - umieszcza tekst w wybranym miejscu wykresu gtext - umieszcza tekst w wybranym miejscu wykresu przy pomocy myszy 4 2
Podstawowe funkcje graficzne Funkcje definiujące wykres legend - umieszcza legendę na wykresie axis - przeskalowuje osie wykresu grid - dodaje siatkę współrzędnych do wykresu zoom - umoŝliwia zmianę wielkości wybranego miejsca wykresu hold - umoŝliwia dodanie kolejnych krzywych do wykresu 5 Przykład tworzenia wykresu Wykres dwóch funkcji trygonometrycznych x=0:pi/100:2*pi; %definicja zmiennej niezaleznej ysin=sin(x); %obliczenie wartosci funkcji sinus ycos=cos(x); %obliczenie wartosci funkcji cosinus plot(x,ysin, y--,x,ycos, r-.); %tworzenie wykresow title( Wykres funkcji sinus i cosinus w zakresie [0,2pi] ); %tytul xlabel( x ); %etykieta osi odcietych ylabel( y ); %etykieta osi rzednych text(0.2,-03, cos(x)=0 x=pi/2 ); %wstawienie tekstu zmienna= sin(x)=0 x=pi ; %wstawienie komentarza do zmiennej text(3.2,0.3,zmienna) %wyswietlenie komentarza legend( y--,sin(x), r-., cos(x),0); %legenda axis([0 2*pi -1 1]; %zakresy osi grid on %dodanie siatki 6 3
Uwagi do przykładu PołoŜenie legendy, utworzonej poleceniem legend moŝna łatwo zmienić za pomocą myszy Standardowo kaŝde uŝycie funkcji plot wymazuje poprzednią zawartość aktywnego okna graficznego W celu dodania kolejnej krzywej do istniejącego wykresu naleŝy uŝyć polecenia hold hold on; plot(x,tan(x), g: ); hold off; 7 Symbole kolorów oraz linii Symbol Kolor Symbol Styl linii y zółty. punkty m purpurowy o kółka c błękitny x krzyŝyki r czerwony + plusy g zielony * gwiazdki b niebieski - ciągła w biały : kropkowana k czarny -. kreska-kropka 8 4
Prezentacja graficzna macierzy - przykład M = 1 2 3 4 2 2 2 2 3 3 3 3 4 3 2 1 >> plot(m) Wykreślenie na wspólnym wykresie 4 linii, odpowiadających kolumnom macierzy M 9 Specjalizowane funkcje graficzne bar - tworzy wykres słupkowy compass - przedstawia liczby zespolone w postaci wektorów - swobodnych comet - sekwencyjne rysowanie wykresu (animacja) errobar - wykres błędu feather - liczby zespolone w postaci wektorów zaczepionych fplot - wykres funkcji f(x) w zadanym przedziale 10 5
Specjalizowane funkcje graficzne hist - utworzenie histogramu polar - liczby zespolone w biegunowym układzie współrzędnych quiver - wykres pól wektorowych rose - histogram kołowy stairs - wykres schodkowy stem - wykressekwencji danych dyskretnych fill - kreślenie krzywej z wypełnieniem pod nią 11 Przykłady wykresów x=-5:1:5; y=[-1 4-7 3 8-8 1 2 5 6 0]; bar(x,y); feather(x,y); fill(x,y, r ); hist(x,y); hist(y); stairs(x,y); stem(x,y); err=ones(size(x)); errorbar(x,y,err); polar(x,y,'bo'); compass(x,y,); axis('normal'); x = 0:pi/100:4*pi; y=sin(x); comet(x,y); comet(x,y); 12 6
Funkcja fplot przykład x=0:pi/50:pi; plot(x,sin(x.^3)); plik s3.m function t = s3(x) t=sin(x.^3); polecenie fplot('s3',[0 pi]) 13 Funkcja fplot - opis Funkcja fplot automatycznie dobiera gęstość próbkowania wykreślanej krzywej Funkcja ta wykorzystuje poprzednio zdefiniowaną m-funkcję 14 7
Predefiniowane kolory Nazwa koloru Symbol koloru R G B śółty y 1 1 0 Purpurowy m 1 0 1 Błękitny c 0 1 1 Czerwony r 1 0 0 Zielony g 0 1 0 Niebieski b 0 0 1 Biały w 1 1 1 Czarny k 0 0 0 15 Mapa kolorów Mapa kolorów jest trójkolumnową macierzą liczącą standardowo 64 wiersze Wiersz k definiuje kolor poziomu k danej mapy kolorów Do zmiany uŝywanej mapy kolorów słuŝy polecenie colormap Dostępne są następujące mapy kolorów: hot, bone, cool, copper, flag, gray, hsv, jet, pink, prism UŜytkownik moŝe zdefiniować własną mapę kolorów Przykładowa komenda wybierająca mapę: 16 colormap( cool ); 8
Operacje na kolorach brighten - zmiana jasności contrast - zmiana kontrastu spinmap - obraca cyklicznie mapę kolorów rgbplot - wykreśla mapę kolorów hsv2rgb, rgb2hsv - konwersja z hsv na rgb i odwrotnie 17 Przykładowe operacje na kolorach >> colormap('hsv'); >> M=peaks(20); >> surf(m); >> contmap=contrast(hsv); >> colormap(contmap); >> surf(m); >> brg_map=brighten(-0.7); >> colormap(brg_map); >> rgbplot(hot); >> 18 9
Grafika trójwymiarowa fill3 - tworzy wielokąt wypełniony kolorem plot3 - wykreśla linię w trzech wymiarach comet3 - sekwencyjne rysowanie linii (animacja) contur3 - wykres konturowy mesh - wykres siatkowy meshc - kombinacja wykresu siatkowego i konturowego pcolor - reprezentacja elementów macierzy kolorami 19 Grafika trójwymiarowa slice - wykreśla przekroje figury trójwymiarowej surf - wykres powierzchniowy waterfall - wykres falowy cylinder - cylinder, stoŝek sphere - sfera 20 10
Linia śrubowa >> k=0:pi/100:10*pi; >> plot3(k,sin(k),cos(k)); 21 Wielokąt w przestrzeni trójwymiarowej >> >> k=0:pi/3:2*pi; >> x=sin(k); >> y=cos(k); >> z=ones(size(x)); >> fill3(x,y,z,'g'); >> 22 11
Pozostałe funkcje graficzne >> >> M=peaks; >> mesh(m); >> meshc(m); >> contour3(m,20); >> pcolor(m); >> waterfall(m); >> R=0:0.1:1; >> cylinder(r,20); >> sphere(30); >> 23 Funkcje graficzne view - zmiana kąta patrzenia na wykres subplot - umieszczenie w jednym oknie graficznym większej liczby wykresów figure - otwarcie nowego okna graficznego clf - wyczyszczenie zawartości okna clear - zamknięcie okna axis - przeskalowanie osi 24 12
Przykłady funkcji graficznych >> M=peaks(20); >> M_pusta=NaN*ones(6,6); >> subplot(1,2,1), surf(m); >> view(15,50), grid on; >> title('macierz funkcji peaks(20), view(15,150) ); >> xlabel('x'); >> ylabel('y'); >> zlabel('z'); >> M_widok=M; >> M_widok(6:11,8:13)=M_pusta; >> subplot(1,2,2), surf(m_widok); >> view(3); >> title('macierz funkcji peaks(20), view(3)'); 25 13