background image

Graficzna prezentacja wyników 
w MATLABIE

Dr inż. Mirosław Kwiesielewicz
Wydział Elektrotechniki i Automatyki
Politechnika Gdańska

email: mkwies@ely.pg.gda.pl
url: http://www.ely.pg.gda.pl/~mkwies/

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

2

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

3

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,  
liniowa

semilogy - skala osi liniowa, 
logarytmiczna

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

4

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

5

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

6

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

7

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;

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

8

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

9

Prezentacja graficzna macierzy - 
przykład 1

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

10

Prezentacja graficzna macierzy - 
przykład 2

M =
     1     2     3     4
     2     2     2     2
     3     3     3     3
     4     3     2     1
>> x=2:5
>> plot(x,M)

Przeskalowanie osi x 

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

11

Prezentacja graficzna macierzy - 
przykład 3

M =
     1     2     3     4
     2     2     2     2
     3     3     3     3
     4     3     2     1
>> x=2:5
>> plot(M,x)

Przeskalowanie osi y 

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

12

Prezentacja graficzna macierzy - 
przykład 4

M =
     1     2     3     4
     2     2     2     2
     3     3     3     3
     4     3     2     1
M1 =
     1     2     3     4
     2     3     4     5
     3     4     5     6
     4     5     6     7   
>>plot(M,M1)

Kolumny M1 względem 

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

13

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

14

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ą

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

15

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);

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

16

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])

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

17

Funkcja fplot - opis

Funkcja fplot automatycznie dobiera 
gęstość próbkowania wykreślanej krzywej

Funkcja ta wykorzystuje poprzednio 
zdefiniowaną m-funkcję

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

18

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

19

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ę:

    colormap(‘cool’);
    

   

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

20

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 

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

21

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);          
>> 

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

22

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

23

Grafika trójwymiarowa

slice - wykreśla przekroje figury 
trójwymiarowej

surf - wykres powierzchniowy

waterfall - wykres falowy

cylinder - cylinder, stożek

sphere - sfera

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

24

Linia śrubowa

>> 
k=0:pi/100:10*pi;
>> 
plot3(k,sin(k),cos(k)
);

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

25

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');
>> 

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

26

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);    
>> 

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

27

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

background image

28.06.21

M. Kwiesielewicz. Graficzna prezentacja wyników ...

28

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)');     


Document Outline