MatLab część IV - vistula.pk.edu.plvistula.pk.edu.pl/IPP/MatLab4.pdf · MatLab część IV. 2...

16
1 MatLab część IV

Transcript of MatLab część IV - vistula.pk.edu.plvistula.pk.edu.pl/IPP/MatLab4.pdf · MatLab część IV. 2...

1

MatLabczęść IV

2

Elementy okna MatLab-a

3

Elementy okna MatLab-a

4

Wykresy i przydatne poleceniaWywołanie funkcji graficznej powoduje automatyczne otwarcie okna graficznego

Kolejne instrukcje graficzne powodują wymazanie poprzedniej zawartości okna – aby tego uniknąć, można:

włączyć kolejne okno graficzne poleceniem figure (przełączanie pomiędzy oknami poleceniami: figure(1) figure(2) figure(n))zablokować wymazywanie okna graficznego poleceniem hold on (odblokowanie poleceniem hold off); więcej help holdużyć polecenia dzielącego okno graficzne na podokna: subplot(w,k,nr), gdzie w,k liczba wierszy i kolumn podwykresów, nr numer podwykresu (numeracja kolejno wierszami od lewej do prawej)

5

Polecenie plotNajprostsza składnia: plot(x,y,s)

x i y są wektorami jednakowej długości, reprezentującymi współrzędne punktów na wykresies jest łańcuchem znakowym definiującym parametry graficzne wykresu – jeśli zostanie pominięty, to wykreślona zostanie linia łamana ciągła o wierzchołkach w punktach zdefiniowanych przez x i yjeżeli y jest macierzą, to wykreślonych zostanie na wykresie tyle serii, ile jest kolumn macierzy yjeżeli pominięty zostanie wektor x, to jako rzędne zostaną przyjęte indeksy elementów macierzy y

Wprowadzenie na wykres kilku serii niezależnych: plot(x1,y1,s1,x2,y2,s2,...)

6

Parametry graficzneParametry graficzne podawane są w postaci łańcucha znakowego, w którym określamy rodzaj linii, kolor oraz kształt znacznika punktu:

linia: - (ciągła), : (kropkowana), -- (kreskowana), -. (kreska-kropka); jeśli pominiemy ten element, a jest podany znacznik punktu, to linii nie będzieznacznik: . (punkt ∙), o (kółko ○), x (krzyżyk ×), + (jak widać), * (j.w.), s (kwadrat □), d (diament ◊), p (pentagram ), h (heksagram ), v ^ < > (trójkąty)kolory: c m y k r g b ww (ostatni jest biały)

Parametry te można dowolnie permutować w łańcuchu s

7

Dodatkowe parametry graficzneUmieszczamy je za łancuchem parametrów graficznych:plot(x,y,s,par1, wart1,par2,war2,...) – par_n podajemy jako łańcuch znakowy

'LineWidth',pt – grubość linii; pt – w punktach'MarkerSize',pt – wielkość znaku; pt – w punktach'MarkerFaceColor','zn' – kolor wnętrza znaku; zn – symbol koloru jak w łańcuchu s'MarkerEdgeColor','zn' – kolor krawędzi znaku; zn – symbol koloru jak w łańcuchu s'Color',[r g b] – kolor podawany jako trójka liczb w przestrzeni RGB (czerwień, zieleń, niebieski) – wartości r g b w zakresie <0,1>

8

Dodatkowe elementy wykresuTytuł: title('To jest tytuł')

Opis osi: xlabel('opis osi X'); podobnie: ylabel, zlabel

Tekst na wykresie: text(x,y,'Tekst na wykresie') – x, y oznaczają współrzędne tekstu na wykresie

Legenda: legend('opis1','opis2',...) – opisy w kolejności kreślenia serii

Siatka: grid on (włączona), grid off (wyłączona)

Zakres osi: axis([xmin, xmax, ymin, ymax, zmin, zmax]) – trzeba podać wszystkie liczby (nawet te, których nie zmieniamy); dla wykresu 2D pomijamy z

Zakres pojedynczej osi: xlim([xmin, xmax]); podobnie: xlim, zlim

9

Specyficzne funkcje kreśląceWykresy o osiach w skali logarytmicznej (prametry funkcji jak dla polecenia plot:

loglog – obie osie logarytmicznesemilogx, semilogy – oś X lub Y logarytmiczna

Linie i figury:line – linia łamanafill – wielokąt zamknięty linią łamaną i wypełniony

Funkcja kreśląca gładkie wykresy funkcji zdefiniowanej w łańcuchu znakowym 'funkcja' w zakresie od xmin do xmax: fplot('funkcja',[xmin xmax])

Punkty rozproszone na płaszczyźnie XY: scatter(x,y,s,c) – x,y wektory tej samej długości, s powierzchnia znaku w pt^2, c kolor znaku; więcej help scatter

10

Funkcje kreślące w 3DOdmiany funkcji kreślących w 2D:

plot3, line(x,y,z), fill3, scatter3więcej: help itd.

Wykresy powierzchniowe:są to wykresy x,y,z, gdzie z opisuje kształt powierzchni rozpiętej nad płaszczyzną XYaby móc je wykonać, należy przygotować siatkę współrzędnych XY za pomocą funkcji meshgrid

11

Wykresy powierzchniowe – przygotowanie

Składnia meshgrid: [X,Y]=meshgrid(x,y)x i y są wektorami współrzędnych odpowiednio o długościach n i mX i Y są tablicami współrzędnych odpowiednio o wymiarach m×n i n×mX jest wypełnione wierszami x, Y jest wypełnione kolumnami yZ określamy jako funkcję na X i Y (a nie na x i y !)

12

Wykres siatkowySkładnia: mesh(X,Y,Z)

13

Wykres powierzchniowySkładnia: surf(X,Y,Z)

14

Cieniowanie powierzchniCieniowanie zmieniamy poleceniem shading

domyślną wartością shading jest faceted (efekt jak na poprzednim slajdzie)inne parametry:

shading flat shading interp

15

Oświetlenie powierzchniDla surf oświetlenie (gradient barw) biegnie pionowo z góry na dół

Jeśli chcemy zmienić kierunek oświetlenia (gradientu barw), zamiast funkcji surf trzeba użyć funkcji surfl

składnia: surfl(X,Y,Z,s)wektor s określa punkt, z którego pada światło

➄ w postaci wektora współrzędnych s=[sx sy sz]➄ w postaci współrzędnych kątowych (w stopniach)

s=[Azymut Wzniesienie]

16

Skala barwSkalę gradientu barw można zmieniać za pomocą polecenia colormap(skala)

Parametr skala podajemy w postaci łańcucha znakowego (tzn. w apostrofach)

Dostępne parametry: hot cool copper flag gray hsv jet pink prism

Skala barw jest zdefiniowana w przestrzeni RGB i ma 64 poziomy, można więc zdefiniować własną skalę jako tablicę o wymiarach 64×3 i wartościach elementów z zakresu <0,1>

Jeżeli chcemy zawęzić gradient barw tylko do pewnych wartości z, to należy użyć funkcji caxis([zmin zmax]) lub surfc([zmin zmax])