MATLAB graf(1)

background image

MATLAB

PROJEKTOWANIE

GRAFICZNE

background image

2

Funkcje graficzne można podzielić

na cztery podstawowe grupy:

 przeznaczone do tworzenia

wykresów dwu- i
trójwymiarowych,

 prezentujące wykresy ciągłe i

dyskretne,

 umożliwiające tworzenie grafiki

wektorowej i rastrowej,

 wysokiego i niskiego poziomu.

background image

3

OKNA GRAFICZNE

Funkcja

Opis

figure

tworzy nowe okno

graficzne i

uaktywnia je

figure(n)

uaktywnia okno o

nr n lub tworzy

nowe i daje mu nr n

close

zamyka okno

aktywne

close(n)

zamyka okno o nr n

close all

zamyka wszystkie

okna

clf

usuwa zawartość

aktywnego okna

background image

4

Funkcja subplot

Funkcja ta umożliwia umieszczanie wielu
rysunków w jednym oknie. Dzieli ona okno
na mniejsze prostokątne okienka, w których
można narysować odrębne wykresy.

subplot(m,n,p)

– dzieli okno graficzne na

m

x

n

okienek oraz uaktywnia okno

p

. okienka są

numerowane od lewej do prawej, wierszami od

góry do dołu.

subplot(‘Position’,[lewy dolny szerokość

wysokość])

– tworzy w obrębie aktywnego rysunku

nowe prostokątne okienko o podanym położeniu i

wymiarach. Położenie jest podawane względem

lewego dolnego rogu rysunku. Parametry

szerokość=wysokość=1

oznaczają układ o

rozmiarach rysunku.

background image

5

Grafika dwuwymiarowa

Polecenie

Opis

plot(x,y)

rysuje wykres elem.wektora y

wzgl.elem.wektora x;

plot(y)

rysuje wykres elem.wektora y,

przyjmując x=1:length(y);

plot(x,y,s)

rysyje wykres y(x) z

określeniem dokładnego

wyglądu linii; s-łańcuch

zawierający kody;

plot(x1,y1,x2,y2,...)

rysuje w jednym oknie wiele

wykresów: y1(x1), y2(x2),...

plot(x1,y1,s1,x2,y2,s

2,..)

rysuje w jednym oknie wiele

wykresów z określeniem

dokładnego wyglądu linii

każdego z nich.

background image

6

Znaki

Rodzaj linii

‘-’

ciągła (domyślna)

‘- -’

kreskowana

‘:’

kropkowana

‘-.’

kreska-kropka

background image

7

Znaki

Kolor linii

‘y’

żółty

‘m’

karmazynowy

‘c’

turkusowy

‘r’

czerwony

‘g’

zielony

‘b’

niebieski

‘w’

biały

‘k’

czarny

background image

8

Znaki

Oznaczenia punktów

‘+’

krzyżyk

‘*’

gwiazdka

‘.’

kropka

‘o’

kółko

‘x’

iks

‘s’

kwadrat

‘d’

romb

‘p’

gwiazdka pięcioramienna

‘h’

gwiazdka sześcioramienna

‘v’

trójkąt skierowany do dołu

‘^’

trójkąt skierowany do góry

‘<‘

trójkąt skierowany w lewo

‘>’

trójkąt skierowany w prawo

background image

9

Funkcja linspace

Funkcja ta pomaga w tworzeniu danych
do wykresu.

linspace(x1,x2,N)

– generuje wierszowy

wektor

N

liczb rozłożonych równomiernie

w przedziale od

x1

do

x2

.

linspace(x1,x2)

– generuje domyślnie

100 liczb z przedziału

x1

do

x2

.

background image

10

Funkcje opisujące wykresy

Funkcja

Opis

xlabel(tekst)

wyświetla łańcuch znaków tekst jako

opis osi x aktywnego wykresu

ylabel(tekst)

wyświetla łańcuch znaków tekst jako

opis osi y aktywnego wykresu

title(tekst)

wyświetla łańcuch znaków tekst jako

tytuł aktywnego wykresu

text(x,y,tekst

)

wyświetla łańcuch znaków tekst w

miejscu określonym przez współrzędne

x,y

legend(s1,s2,

..)

wyświetla legendę; łańcuch znaków

s1 jest opisem odnoszącym się do

pierwszego wykresu,s2-drugiego,...

grid on/of

włącza/wyłącza wyświetlanie

pomocniczej siatki współrzędnych

background image

11

Funkcja hold

Wyświetlanie wykresu w oknie graficznym

powoduje

jednoczesne wyczyszczenie okna i usunięcie

poprzedniego

rysunku. Dodanie wykresu do znajdującego się

w oknie

umożliwia funkcja

hold

.

hold on/of

– wyłącza/włącza tryb

czyszczenie okien;

ishold

– sprawdza stan przełącznika hold;

 axis

– zmiana wyglądu osi.

background image

12

Polecenie

Opis

axis([xmin xmax ymin

ymax])

ustawia zakres osi x i y

axis auto

włącza tryb automatycznego

ustawiania zakresu osi

axis manual

włącza tryb autom.ustawienia

zakresu osi; po włączeniu

przełącznika hold wszystkie

kolejne wykresy będą rysowane w

takim samym układzie

współrzędnych

axis ij

zmienia układ współ.na

macierzowy

axis xy

zmienia układ współ.na

kartezjański

axis equal

zmienia skalowanie osi tak, aby

jednostka na podziałce miała ten

sam rozmiar na wszystkich osiach

background image

13

axis image

zmienia rozmiary osi na takie same, jak

rozmiary wykresu

axis square

ustawia jednakowy rozmiar wszystkich

osi

axis normal

przywraca standardowe ustawienia

rozmiaru osi

axis of

ukrywa osie wraz z ich opisem

axis on

przywraca wyświetlanie osi

[s1,s2,s3]=axis(‘sta

te’)

zwraca aktualne ustawienia układu:s1-

auto lub manual, s2-on lub of,s3-xy lub

ij

v=axis

zwraca wektor wierszowy v=[xmin

xmax ymin ymax]

background image

14

Funkcja fplot

Z tej funkcji korzystamy w celu narysowania
możliwie najbardziej precyzyjnego wykresu
funkcji.
 fplot(f,[x0,xk])
f-łańcuch znaków zawierających nazwę
funkcji;
x0,xk-początek i koniec przedziału
rysowania funkcji;
 [x,y]=fplot(...) – nie powoduje narysowania

wykresu, tylko zwraca wektor argumentów x i

wektor wartości funkcji y. Wykres uzyskanych

danych można narysować za pomocą polecenia

plot(x,y).

background image

15

Wykresy w skali logarytmicznej

Funkcja

Opis

loglog(x,y,s) rysuje wykres, używając skal

logarytmicznych na obu

osiach

semilogx(x,y,

s)

...tylko na osi x

semilogy(x,y,

s)

...tylko na osi y

background image

16

Funkcja logspace

Pomaga w przygotowywaniu wykresów w skali
logarytmicznej. Generuje wektor wierszowy

N

liczb, rozmieszczonych logarytmicznie między
wartościami 10^x1 a 10^x2:

logspace(x1,x2,N).

Wywołanie funkcji bez argumentu

N

spowoduje

wygenerowanie wierszowego wektora 50 liczb.

background image

17

Funkcja polar

Funkcja ta służy do rysowania wykresów w
biegunowym układzie współrzędnych:
polar(theta,r,s);
theta – wektor kątów (w radianach) dla
poszczególnych punktów;
r – wektor odległości poszczególnych
punktów od początku układu
współrzędnych.
Opcjonalnym argumentem funkcji jest łańcuch

znaków

s, określający wygląd rysowanej linii, jak przy

funkcji

plot.

background image

18

Funkcje rysujące wykresy danych

zespolonych

Funkcja

Opis

plot(z,s)

jeżeli z jest macierzą o elementach

zespolonych, to zostanie narysowany

wykres Im(z)=f(Re(z)); równoważne

polecenie: plot(real(z),imag(z),s)

compass(z,s)

compass(x,y,

s)

rysuje wykres, na którym elementy

macierzy zespolonej z są przedstawione

w postaci strzałek o wspólnym początku i

grotach w punktach opisanych przez

współrzędne x=real(z), y=imag(z); x i y

są współrzędnymi kartezjańskimi, wykres

jest rysowany w biegunowym układzie

współrzędnych

background image

19

feather(z,s)

feather(x,y,s)

rysuje wykres, na którym

elementy macierzy

zespolonej z są

przedstawione w postaci

strzałek o początkach

rozmieszczonych

równomiernie na osi x;

długości strzałek są równe

modułom elementów

macierzy z, a kąty

nachylenia strzałek – ich

argumentom.

background image

20

GRAFIKA TRÓJWYMIAROWA

• Matlab zawiera dużą liczbę wbudowanych

funkcji służących do wizualizacji obiektów

trójwymiarowych. Zapoznamy się min. z

potrzebnymi do tworzenia wykresów

krzywych przestrzennych (

plot3

), siatek

(

mesh

), powierzchni (

surf

) oraz wykresów

konturowych (

contour

).

• Aby uzyskać w Matlabie pomoc na temat

funkcji 3D należy w oknie komend wydać

komendę

help graph3d

.

background image

21

Funkcja plot3

• Polecenie

plot3(x,y,z,s)

generuje trójwymiarową krzywą złożoną z
punktów (x

i

, y

i

, z

i

), których współrzędne

zostały

określone w wektorach x, y, z. Wektory muszą
być tej samej długości.
Funkcja ta jest odpowiednikiem funkcji

plot

w

grafice dwuwymiarowej.

background image

22

• Ćw.1
Wykonaj wykres funkcji
r(t)=< t*cos(t), t*sin(t), t >, t=-

10*pi:pi/100:10*pi.

Podpisz osie, włącz siatkę.

background image

23

Funkcja meshgrid

• Powierzchnia rysowana jest w Matlabie jako

wykres funkcji

z=f(x,y),

przy czym

współrzędne punktów (x

i

,y

i

) określone są za

pomocą wektorów X i Y, gdzie indeksy ij

przyjmują wartości

i=1:length(X), j=1:length(Y).

Ponieważ tworzymy wykres trójwymiarowy na
dwuwymiarowej płaszczyźnie ekranu, na
początek należy wygenerować specjalną siatkę
na płaszczyźnie XY w tych węzłach, w których
szukane są wartości funkcji w osi z. Służy do
tego funkcja meshgrid.

background image

24

[x,y]=meshgrid(X,Y)

transformuje obszar opisany przez
wektory X i Y (z przestrzeni 3D) na
dwie macierze x oraz y we
współrzędnych ekranowych 2D.

[x,y]=meshgrid(X)

– jest

równoważne wywołaniu

meshgrid(X,X).

background image

25

Funkcja mesh

mesh(x,y,z,c)

–rysuje powierzchnię opisaną

macierzami x,y,z w postaci kolorowej siatki o

polach wypełnionych kolorem tła; elementy

macierzy c określają kolory linii poszczególnych pól.

mesh(x,y,z)-

rysuje powierzchnię, przyjmując c=z.

mesh(z,c)-

rysuje wykres wartości elementów

macierzy z, przyjmując x=1:n, y=1:m, gdzie

[m,n]=size(z).

meshc(x,y,z,c)-

rysuje siatkę identyczną jak funkcja

mesh i umieszcza pod nią wykres poziomicowy.

meshz(x,y,z,c)-

działa jak mesh, ale dodatkowo w

dół od krawędzi wykresu rysowane są linie

określające płaszczyzny odniesienia.

background image

26

Ćw.2
Utwórz wykres paraboloidy

hiperbolicznej z=y

2

-x

2

w

przedziałach x=-1:0.05:1,

y=-1:0.05:1.
Wyłącz układ współrzędnych, dodaj
wykres konturowy.

background image

27

Funkcja surf, waterfall

• surf(x,y,z,c) –rysuje różnokolorową powierzchnię

opisaną macierzami x,y,z.

• surf(x,y,z) –rysuje powierzchnię, przyjmując c=z.
• surf(z,c) –rysuje powierzchnię, przyjmując x=1:n,

y=1:m, gdzie [x,y]=size(z).

• surfc(x,y,z,c) –łączy działanie funkcji surf i contour.
• surfl(x,y,z,s,k) –rysuje powierzchnię z

uwzględnieniem odbić światła; s-określa kierunek,

z którego pada światło, k-określa współczynniki

odbicia i rozproszenia.

• waterfall(x,y,z,c) –działa jak meshz, ale nie rysuje

linii odpowiadających kolumnom macierzy.

background image

28

Ćw.3
Napisz skrypt, który rysuje wykresy

funkcji:

f(x,y)=exp(-(x-1).^2+y.^2)+exp(-

(x+1).^2-y.^2)

dla x,y=-3:0.3:3, w jednym oknie

graficznym

za pomocą poleceń surf i waterfall.

background image

29

Mapy kolorów

• Mapa kolorów jest macierzą trójkolumnową, której

elementami są liczby rzeczywiste z zakresu 0,0-1,0.

Każdy wiersz macierzy jest wektorem RGB

definiującym dany kolor za pomocą intensywności

trzech podstawowych kolorów:czerwonego,

zielonego i niebieskiego. Funkcja colormap pozwala

odczytać lub zmienić mapę kolorów przypisaną

aktywnemu rysunkowi.

m=colormap

–zwraca aktualną mapę kolorów m.

colormap(m)

–zmiana aktualnej mapy kolorów na

mapę m.

colormap(‘default’)

–przywraca standardową

mapę kolorów.

background image

30

Mapa

Opis

gray

mapa odcieni szarości

hot

mapa kolorów ciepłych – od czarnego,

poprzez odcienie czerwonego,
pomarańczowego i żółtego, aż do białego

cool

mapa kolorów zimnych – od turkusowego do

karmazynowego

autumn

mapa kolorów zmieniających się od

czerwonego, przez pomarańczowy, do żółtego

summe
r

mapa odcieni kolorów żółtego i zielonego

hsv

standardowa mapa kolorów w systemie HSV;

każdy wiersz macierzy zawiera 3 liczby z
zakresu od 0 do 1 opisujące odcień,

nasycenie i jaskrawość

background image

31

Animacja

%skrypt film
m=moviein(5);

%w macierzy m będzie przechowywanych 5

klatek

animacji

x=0:pi/100:pi;
for i=1:5
h1_line=plot(x,sin(i*x));
set(h1_line,'LineWidth',1.5,'Color','m')
grid
title('funkcja sinus sin(kx), k=1,2,3,4,5')
h=get(gca,'title');
set(h,'FontSize',12)
xlabel('x')

background image

32

k=num2str(i);
if i>1
s=['sin(',k,'x)'];
else
s='sin(x)';
end
ylabel(s)
h=get(gca,'ylabel');
set(h,'FontSize',12)
m(:,i)=getframe;

%każda klatka jest zapisywana w pojedynczej

kolumnie macierzy m

pause(2)

end
movie(m)

%odgrywa zapamiętane w macierzy m klatki animacji na

ekranie

background image

33

Funkcje shpere i cylinder

sphere(n)

– tworzy kulę o promieniu

1 oraz środku w początku układu
współrzędnych z wykorzystaniem
2(n+1) punktów siatki tworzącej jej
powierzchnię. Dodanie polecenia:

surf(x+2,y-1,z+1)

utworzy wykres

kuli o promieniu 1 ze środkiem w
punkcie (2,-1,1)

background image

34

• Funkcja cylinder jest wykorzystywana do tworzenia

wykresów powierzchni obrotowych. Pobiera ona

dwa opcjonalne parametry wejściowe.

W komendzie

cylinder(r,n)

parametr r oznacza

wektor, który definiuje promienie walca w
kolejnych punktach wzdłuż osi z, a n oznacza
liczbę punktów siatki na obwodzie walca.
Wartości domyślne dla tych parametrów to
r =[1 1] oraz n=20.
Komenda:

cylinder([1 0])

tworzy stożek o

wysokości i promieniu podstawy równym 1.


Document Outline


Wyszukiwarka

Podobne podstrony:
Matlab cw1 2 zaoczni
cz 1, Matlab moj
Image Processing with Matlab 33
kod matlab
Cw08 Matlab2
CAD CAM KWPPWPS Zad graf PDF
Matlab wiadomości wstępne
Matlab Class Chapter 1
Matlab środowisko programu
MATLAB, cz 1
Instrukcja obiekt dynamiczny matlab 2015
Matlab Programming (ang)
Matlab Class Chapter 6
OBLICZENIA MATLAB, PWR, SEE - sprawka moje
sprawozdanie matlab

więcej podobnych podstron