Wykład 5 https://play.google.com Dr Aneta Polewko-Klim
43. Okno graficzne Grafika jest wyświetlana w specjalnym oknie graficznym Aktywnym oknem jest okno otwarte ostatnio. Jeśli nie ma żadnego okna funkcje graficzne automatycznie tworzą nowe. Jednocześnie można otworzyć wiele okien, jedno z nich jest oknem aktywnym i do niego Matlab kieruje grafikę.
Menu poziome – pasek narzędziowy otwórz okno; otwórz plik; zapisz okno; drukuj; edycja okna; wstaw tekst; wstaw wektor; wstaw linie; powiększenie; pomniejszenie; obrót.
Menu poziome – opcja File Zawiera instrukcje: New Figure – nowe puste okno typu Figure; Open – otwiera wcześniej zapisane okno; Close – zamyka aktualne okno; Save – zapisuje aktualne okno wykorzystując ustawienia domyślne; Save as – zapisuje okno z wykorzystaniem ścieżki podanej przez użytkownika; Export – umożliwia zapis okna w innym formacie; Preferences – ustawienia typowych parametrów; Page Setup – zmienia ustawienia strony; Print Setup – zmiana ustawień drukarki; Print Preview – podgląd wydruku; Print – drukowanie.
Menu poziome – opcja Edit Zawiera instrukcje: Undo – rezygnacja i powrót do pierwotnych ustawień; Cut – wytnij; Copy – kopiuj; Paste – wklej; Clear – wyczyść; Select all – zaznacz wszystko; copy Figure – kopiuj okno Figure; Copy options – kopiuj ustawienia; Figure Properties – ustawienia własności okna; Axes Properties – ustawienia własności osi; Current object Properties – ustawienia własności aktualnego obiektu;
Przykład cd. Wybranie jednej z trzech ostatnich opcji powoduje otwieranie kolejnych okien i daje możliwość ustawienia wybranych parametrów: w górnej części Edit możemy wybrać rodzaj rozpatrywanego obiektu, np. osie, linie itp. dla opcji Figure mamy 4 karty: Style, Title, Rendering, Info. Menu Bar daje możliwość ukrycia menu poziomego.
Karta Title daje możliwość dodatkowej nazwy dla okna graficznego Karta Title daje możliwość dodatkowej nazwy dla okna graficznego. Zaznaczenie okienka Show figure number jest związane z tym, czy nazwa Figure No. ma być widoczna czy nie.
Karta Rendering daje natomiast możliwość wprowadzenia ustawień wykonawczych automatycznych lub manualnych
Karta Info - możemy tu zmienić nazwę samego rysunku oraz ukryć obiekt, opcja visible.
Zmieniając obiekt poddany edycji przechodzimy do ustawień osi: Scale umożliwiająca skalowanie osi. Mamy możliwość wyboru ustawień automatycznych lub ręcznych: Limits – zakres; Ticks – punkty na osiach; Labels – nazwy osi; Scale – różne rodzaje skalowania osi; Grid – siatka;
Karta Style : Hide Axes – Osie widoczne czy nie; Axes box on – obramowanie dla wykresu; Tick Label Font – ustawienie własności punktów na osiach; Color – kolor tła dla osi; Location – lokalizacja osi i punktów na osiach;
Karta Labels pozwala zdefiniować etykiety dla wszystkich osi.
Karta Aspect związana jest z ustawieniem obiektu graficznego w żądanym ujęciu. Za pomocą tej karty możemy ustawić ujęcie perspektywistyczne lub normalne, wzajemny stosunek osi względem siebie Aspect ratio Properties, kształt obszaru zawartego pomiędzy osiami, różne lub jednakowe jednostki na osiach.
Karta Light umożliwia ustawienie źródeł światła, jego położenia oraz koloru
Karta Viewpoint umożliwia ustawienie kąta azymutu, kąta elewacji oraz punktu widokowego. Kąty podawane są w stopniach. Dla wykresów 2D domyślne mają wartości: azymut – 0º, elewacja – 90º. Wykresy 3D: azymut – -37.5º, elewacja – 30º.
Ponownie zmieniając rodzaj obiektu możemy wybrać line. Karta Data dotyczy danych które są aktualnie w przestrzeni roboczej.
Karta Style. Możemy tu ustawić rodzaj linii, grubość, kolor, oraz styl markerów.
Menu poziome – opcja View Decydujemy w niej czy mają być wyświetlane paski narzędziowe: Figure Toolbar – podstawowy pasek narzędziowy; Camera Toolbar – pasek narzędziowy do przestrzennego manewrowania obiektem.
Menu poziome – opcja Insert Mamy tu możliwość wstawienia do naszego okna różnych obiektów: X Label – wstawia etykietę osi OX; Y Label – wstawia etykietę osi OY; Title – nazwa wykresu; Legend – wstawienie legendy; Colorbar – wstawie legendę dla kolorów; Arrow – rysuje strzałkę; Line – rysuje linię; Text – pole tekstowe; Axes – wstaw osie; Light – ustawienie oświetlenia w specjalnym oknie.
Menu poziome – opcja Tools Mamy tu możliwość: Edit Plot – przejście do trybu edycji w oknie Figure; Zoom In – powiększenie; Zoom Out – pomniejszenie; Rotate 3D – obracanie obiektu; Move Camera – tryb pracy z aparatem fotograficznym; Camera Motion – opcje ruchu aparatu; Camera Axes – osie; Camera Reset – powrót do ustawień standardowych; Data Statistics – podstawowe parametry statystyki opisowej dla rozpatrywanych danych.
44. Podział funkcji graficznych przeznaczone do tworzenia wykresów 2D i 3D prezentujący wykresy ciągłe i dyskretne; umożliwiające tworzenie grafiki wektorowej i rastrowej wysokiego i niskiego poziomu.
45. Grafika 2D - funkcja plot Służy do wykreślania podstawowych wykresów funkcji. Generuje krzywą złożoną z punktów (xi , yi), których współrzędne określone są w wektorach x i y. Łączy odcinkami punkty o podanych współrzędnych. Wektory te muszą być równej długości.
Jeden lub oba argumenty funkcji mogą być macierzami. Rysowane są wtedy wykresy kolumn lub wierszy macierzy. >> x=[1 3 2 4 6 5 7 4 9 3 4 2]; >> plot(x) Osie dobierane są automatycznie.
>> x=[1 3 2 6; 4 6 5 7; 7 4 9 3]; >> y=[2 3 5]; >> plot(x,y)
46. Kolory, markery, linie Znaki Rodzaj linii Oznaczenie punktów `-` ciągła (domyślna) `+` krzyżyk `--` kreskowana `*` gwiazdka `:` kropkowana `.` kropka `-.` kreska – kropka `o` kółko Kolor linii `x` iks `y` żółty `s` kwadrat `m` karmazynowy `d` romb `c` turkusowy `p` gwiazdka pięcioramienna `r` czerwony `h` gwiazdka sześcioramienna `g` zielony `v` trójkąt skierowany do dołu `b` niebieski `^` trójkąt skierowany do góry `w` biały `<` trójkąt skierowany w lewo `k` czarny `>` trójkąt skierowany w prawo
Oznaczenie rodzaju i koloru linii wykresu. Za każdą parą argumentów x,y umieszczamy łańcuch s zawierający kod koloru linii oraz oznaczenie typu linii. >> plot(x,'m-.') >> plot(x,'r+')
47. Nakładanie 2 wykresów – funkcja hold on Wariant 1 >>x1=1:0.1:10 >>y1=sin(x) >> plot(x1,y1,’k:’,x1,y1,’r*’) Wariant 2 >>x1=1:0.1:10 >>y1=sin(x) >> plot(x1,y1,’k:’) >> hold on >>plot(x1,x1,’r*’)
48. Funkcja subplot Funkcja subplot umożliwia umieszczenie kilku rysunków w jednym oknie subplot(m,n,p) dzieli okno graficzne na mxn okienek, rozmieszczając je w m wierszach i n kolumnach, oraz uaktywnia okno o numerze p.
Przykład >>x=0:2e4; R=1e3; C=220e-9; >> y=1./(f.*i*R*C+1); >> subplot(2,1,1); >> plot(x,abs(y)); >> subplot(2,1,2); >> plot(x,imag(y));
Funkcja subplot – inne wywołanie subplot(‘position’,[lewy dolny szerokość wysokość]) tworzy w obrębie aktywnego rysunku nowy układ współrzędnych zawarty wewnątrz prostokąta o podanych wymiarach; kolejne elementy wektora określają kolejno współrzędne x i y lewego dolnego rogu nowego układu oraz jego szerokość SZ i wysokość W; położenie i wymiary podajemy w jednostkach znormalizowanych rysunku, tj. w postaci ułamków wymiarów okna (SZ i W o wymiarach 1 oznacza układ o rozmiarze całego rysunku) >> subplot('position',[0.3 0.5 0.2 0.4]);.
49. Osie wykresu -skala
Przykład tu koniec 08.05.15 Skrypt rysujący wykres funkcji y=Aexp(Bsin(t)) dla t<0, 20> Dwa wykresy: dla A=2, B=3 i A=1, B=-3. t=0:0.1:20; A=2; B=3; y1=A*exp(B*sin(t)); A=1; B=-3; y2=A*exp(B*sin(t)); plot(t, y1, ‘k-‘, t, y2, ‘b:’) grid on xlabel(‘t’) ylabel(‘y(t)’) legend(‘A=2, B=3’, ‘A=1, B=-3’) title(‘Wykres funkcji y=Aexp(Bsin(t))’)
49. Osie wykresu - osie
50. Funkcja fplot fplot(f, [xp xk]) Funkcja plot umożliwia narysowanie dowolnej funkcji po zapisaniu jej w postaci wektora. Dokładność takiego rozwiązania zależy jednak od sposobu dyskretyzacji przedziału. Aby narysować dokładny wykres dowolnej funkcji należy użyć funkcji fplot. fplot(f, [xp xk]) gdzie: f – łańcuch znaków zawierających nazwę funkcji xp, xk – początek i koniec przedziału rysowania funkcji
Przykład Zdefiniujmy funkcję y=cos(10exp(x)) i narysujmy jej wykres w przedziale <-2, 2> za pomocą fplot, oraz plot dla wektora x=-2:0.1:2 f=@(x)(cos(10*exp(x)); close all x=-2:0.1:2; y= cos(10*exp(x)); subplot(2,1,1) plot(x,y) subplot(2,1,2) fplot(‘f’, [-2 2])
Funkcja -area area – dwuwymiarowy wykres przedstawiający zamalowane obszary pod jedną lub kilkoma krzywymi. >> x=[2 5 7 13]; >> y=[3 4 6 9]; >> area(x,y)
Funkcja -fill fill – dwuwymiarowy wykres przedstawiający zamalowane obszary wewnątrz krzywej określonej współrzednymi wektora. >> x=[0.25 1 1]; >> y=[0.25 0.25 1]; >> fill(x,y,’y’)
Funkcja -polar Funkcja rysuje wykresy w układzie biegunowym. Współrzędne punktu określa się podając odległość punktu od początku układu, oraz kąta pomiędzy odcinkiem łączącym początek układu z danym punktem a dodatnią półosią x. polar(theta, ro, s) theta – wektor wartości kątów dla poszczególnych punktów ro – odległości punktów od początku układu S – typ linii >> x=-pi:0.1:pi; >> polar([x;x]',[sin(3.*x);cos(3.*x)]','--');
Funkcja -comet Funkcja rysuje ruchomy wykres imitujący lot komety. comet(x,y,p) x,y – wektory zawierające odcięte i rzędne punktów p – opcjonalny parametr określający długość ogona komety o wartościach z przedziału <0,1>, wartość domyślna 0.1. x=1:0.005:6; r=rem(x,floor(x)); y1=5-floor(x); y2=y1+abs(sin(8*pi*r)).*exp(-5*r); comet(x,y2)
Funkcja - errorbar Funkcja rysuje wykres i zaznacza błędy. errorbar(x,y,e) Jako argumenty podajemy wektory rzędnych, odciętych oraz wektor błędów. Możemy podać dwa wektory błędów, wtedy pierwszy wektor błędów będzie określał błąd pod krzywą, a drugi nad krzywą.
51. Wykresy funkcji dyskretnych.
52. Grafika 3D – funkcja meshgrid Grafika 3D jest rozumiana jako przedstawienie na płaszczyźnie ekranu rzutów figur 3D. Rzutowanie to oraz zasłanianie niewidocznych krawędzi wykonuje system. Standardowo figury są rzutowane prostopadle, ale istnieje też możliwość wykonania rzutów perspektywicznych. W matematyce powierzchnia to zbiór punktów, których współrzędne opisane są ciągłymi funkcjami różniczkowymi. Powierzchnia jest wykreślana jako wartość funkcji z=f(x,y) Wartości funkcji są obliczane w punktach równomiernie rozłożonych na prostokątnym wycinku płaszczyzny XY, w węzłach pewnej prostokątnej siatki. Do wygenerowania takiej siatki służy funkcja meshgrid
Określamy wektor X, wektor Y i w punktach o współrzędnych (x,y) obliczamy wartości funkcji, które wykreślą nam powierzchnię. Współrzędne węzłów siatki wylicza nam funkcja meshgrid. >> x=1:5; >> y=1:4; >> [X,Y]=meshgrid(x,y);
Funkcja zwraca macierze, których odpowiadające sobie elementy określają współrzędne punktów siatki. W tych punktach obliczamy następnie wartości funkcji. >> [X,Y]=meshgrid(-pi:.2:pi,-pi:.2:pi); >> Z=sin(X).*sin(Y).*exp(-X.^2-Y.^2); Każdy punkt ma czterech sąsiadów, co narzuca sposób rysowania: powierzchnia jest rysowana z czworokątów, których wierzchołki leżą w punktach opisanych macierzami X,Y,Z.
53. Funkcje mesh, surf
Funkcja shading Polecenie shading zmienia sposób wypełniania kolorem obiektów typu surface i patch:
Funkcja colormap Instrukcja służy do ustawiania mapy kolorów. Podajemy polecenie: colormap(map), gdzie jako parametr wejściowy podajemy macierz liczb rzeczywistych z przedziału <0, 1>, o wymiarach m x 3. Każdy wiersz macierzy reprezentuje kolor RGB, definiujący kolor.
54. Mapy kolorów
Funkcja colorbar Instrukcja ta wyświetla legendę kolorów. Składnia: colorbar(‘vert’) lub colorbar – legenda pionowa colorbar(‘horiz’) – legenda pozioma
55. Funkcja contour Funkcja rysuje wykres poziomicowy powierzchni trójwymiarowych. Składnia: contour(x,y,z,n,’line’) n – ilość poziomic, można podać też zamiast n wektor określający na jakiej wysokości mają być rysowane poziomice, bez podania ostatnich parametrów poziomice dobierane są automatycznie. ‘line’ – rodzaj rysowanej linni, jak przy poleceniu plot. contour3(x,y,z) – wykres poziomicowy w 3D.
61. Funkcje: cylinder, sphere, plot3 >> x=-3:.3:3; >> y=-3:.3:3; >> z=sin(x+y); >> plot3(x,y,z)