TWORZENIE WYKRESÓW (1) Pewne wykresy można wygenerować za pomocą jednego polecenia, np.: graf2d, graf2d2, peaks, membrane, penny, earthmap, xfourier, xpklein, Lorenz, graf3d. Okno graficzne można wyczyścić wpisując w wierszu poleceń funkcję clf, a jego zamknięcie można uzyskać funkcją close. W oknie wykresu za pomocą menu i paska narzędzi można między innymi: zapisywać (eksportować) wykresy w różnych formatach (File/Export), kopiować, wklejać i usuwać fragmenty wykresów (Edit), wyświetlać i ukrywać paski narzędzi (View), wstawiać obiekty (Insert), obracać wykresy (Tools/Rotate). Wykresy dwuwymiarowe punktowe i liniowe Do tworzenia wykresów służy polecenie plot(x,y), gdzie x i y są wektorami tej samej długości. Dla funkcji, której wykres mamy uzyskać x jest wektorem argumentów, a y wektorem wartości odpowiadających tym argumentom. Przykład 1. Napisać skrypt: >> x=[1 2 3 4] >> y=[5 3 6 2] >> plot(x,y) Przykład 2. Wykonać polecenie: >> plot(sin(1:5)) Aby wykres był gładki, trzeba zadać jak najwięcej punktów leżących blisko siebie. Przykład 3. Napisać skrypt: >> x=0:pi/100:2*pi >> y=sin(x) >> plot(x,y) 1
Przykład 4. Wykonać polecenie: >> plot(-pi:0.1:pi,sin(-pi:0.1:pi)) Do wykresu można dodać tytuł i tytuły osi. Przykład 5. Dodać polecenia: >> title('wykres funkcji sinus'), >> xlabel('x=[-\pi,\pi]'), >> ylabel('sin(x)') W jednym układzie współrzędnych można umieścić wykresy kilku funkcji. Matlab automatycznie dobiera różne kolory wykresów. Poleceniami grid on i grid off można dodać lub usuwać siatkę. Przykład 6. Napisać skrypt: >> x=0:pi/100:2*pi >> y=sin(x) >> z=cos(x) >> plot(x,y,x,z) >> grid on Poleceniem text(x,y, tekst )można umieszczać tekst w dowolnym punkcie o współrzędnych (x,y). Można też dodać legendę. Wykorzystuje się tu polecenie legend( nazwa1,, nazwak,n), gdzie argument n opisuje położenie legendy, nie jest konieczny i przyjmuje wartości: 0 dopasowanie automatyczne, 1 prawy górny róg, 2 lewy górny róg, 3 lewy dolny róg, 4 prawy dolny róg, -1 na prawo od rysunku. Przykład 7. Dodać polecenia: >> text(pi/2,1, max ) >> legend('sin(x)','cos(x)',-1) Matlab pozwala również na umieszczanie nowych wykresów na już istniejących rysunkach. W tym celu po utworzeniu pierwszego wykresu należy wywołać polecenie hold on. Po wywołaniu polecenia hold off każdy kolejny wykres będzie powodował utratę poprzedniego. 2
Domyślnie wszystkie wykresy są rysowane w oknie zatytułowanym Figure 1. Za pomocą polecenia figure można tworzyć nowe okna. Ostatnie utworzone okno staje się oknem domyślnym i to w nim Matlab będzie umieszczał wykresy. Aby przełączyć się między istniejącymi oknami, wywołujemy polecenie figure(n), gdzie n jest numerem okna. Przykład 8. Napisać skrypt: >> x=0:0.1:2 >> y=x.^2 >> plot(x,y) >> figure >> z=x.^3 >> plot(x,z) Dodać: >> figure(1) Dodać: >> figure(2) Można zmieniać domyślny kolor linii. Do zmiany koloru służą parametry: c cyjan (jasnoniebieski), m magneta (purpurowy), y żółty, r czerwony, g zielony, b niebieski, w biały, k czarny. Te parametry umieszczamy w poleceniu plot. Przykład 9. Napisać skrypt: >> hold off >> x=0:pi/100:2*pi >> y=sin(x) >> z=cos(x) >> plot(x,y, r,x,z, k ) Można zmieniać również styl linii. Do zmiany stylu służą parametry: - linia ciągła, -- linia przerywana, : linia kropkowana, -. linia przerywano-kropkowana, none brak linii. Te parametry umieszczamy również w poleceniu plot. Przykład 10. Dodać polecenie: 3
>> plot(x,y, :,x,z, -- ) Wykres nie musi mieć formy linii. Można tylko zaznaczyć punkty określone przez współrzędne. Parametry określające kształt punkcików to: +, o, *, x, s kwadrat, s romb, ^, v, <, > trójkąt, p gwiazdka pięcioramienna, h słoneczko. Te parametry umieszczamy również w poleceniu plot. Przykład 11. Dodać polecenie: >> plot(x,y,'h') Można ustawić zakresy osi X i osi Y. Przykład 12. Dodać polecenie: >> axis([0 5 0 7]) Opisane powyżej parametry można łączyć. Przykład 13. Dodać polecenie: >> plot(x,y,'r--s') Matlab pozwala umieszczać wiele wykresów w jednym oknie. Mogą być one różnie poukładane. Do tego służy funkcja subplot(m,n,p), gdzie m i n określają, na ile części ma być podzielony obszar okna, a p determinuje, w którym obszarze ma być umieszczony wykres. Ćwiczenie 14: Napisać skrypt umieszczający w górnej części okna graficznego w dwóch układach współrzędnych wykresy sinusa i cosinusa na przedziale [0,] wraz z tytułami i tytułami osi Oy. W dolnej części tego okna trzeba ponadto umieścić trzeci układ współrzędnych z wykresami tych obu funkcji jednocześnie, ale na przedziale [-2,2]. Niech jedna krzywa będzie linią ciągłą, a druga wykropkowaną i będzie wyświetlona siatka. >> x1=0:0.1:pi; >> x2=-2*pi:0.1:2*pi; >> subplot(2,2,1); >> plot(x1,sin(x1)); >> ylabel('sin(x)'); >> title('wykres funkcji sinus'); 4
>> subplot(2,2,2); >> plot(x1,cos(x1)); >> ylabel('cos(x)'); >> title('wykres funkcji cosinus'); >> subplot(2,1,2); %%dzielisz na 2 części - górną i dolną >> plot(x2,sin(x2),'-',x2,cos(x2),':'); >> grid on; >> legend('f(x)=sin(x)','g(x)=cos(x)'); >> xlabel('os X'); >> ylabel('os Y') Wykresy słupkowe Do tworzenia wykresów słupkowych służą funkcje bar(x) i barh(x), w zależności czy chcemy, by słupki były pionowe czy poziome. X jest wektorem lub macierzą wartości. Argumentami są numery współrzędnych wektora lub odpowiednio numery wierszy macierzy. Przykład 1. Wykonać polecenie: >> bar([10 67 35 5]) Przykład 2. Wykonać polecenie: 5
>> barh([10 67 35 5]) Przykład 3. Napisać skrypt: >> x=1:10 >> bar(x) Przykład 4. Napisać skrypt: >> x=1:10; >> y=3.^(1./x); >> y2=(y./2).^2; >> bar([y,y2 ]) Przykład 5. Napisać skrypt: >> x=-2.9:0.1:2.9 >> bar(x,exp(-x.*x),'r') Przykład 6. Napisać skrypt: >> A=[2 3 4; 4 4 5; 1 6 9] >> bar(a) 6
Można przedstawić wykres słupkowy w perspektywie 3D i ze zmienioną kolejnością prezentowania danych. Przykład 6. Napisać skrypt: >> x=1:10; >> y1=3.^(1./x); >> y2=(y./2).^2; >> bar3([y2,y1 ]) Wykresy kołowe Do tworzenia wykresów kołowych służy funkcja pie. Można ją zastosować w następujący sposób: pie(x), gdzie x jest wektorem danych, na podstawie których tworzy się wykres, (należy zwrócić uwagę, że otrzymujemy inny wykres, gdy elementy wektora x sumują się do 100), pie(x,y), y pozwala określić, który wycinek ma być wysunięty z koła, x i y powinny mieć ten sam rozmiar, 7
pie(x,y,{ opis }) opis to lista nazw przyporządkowana kolejnym wycinkom wykresu. Przykład 1. Wykonać polecenie: >> pie([2 6 8 16]) Przykład 2. Napisać skrypt: >> x=[32 35 12 8 6 5 2]; >> pie(x,{'podatki','dom','jedzenie','samochód','telefon','oszczędno ści','inne'}) Wybierając z menu Tools w okienku Figure polecenie Edit Plot, a następnie klikając dwa razy w obszarze wykresu (jest to równoważne wyborowi z menu Edit polecenia Figure properties lub Axes properties), włączamy edytor właściwości, za pomocą którego możemy dostosować wykres do naszych potrzeb zmienić kolory, fonty, grubość linii, jednostki na osiach. Przykład 3. Dla x określonego w powyższym przykładzie dodać polecenia: >> pie(x,[1 0 0 0 0 0 0],{'Podatki','Dom','Jedzenie','Samochód', 'Telefon','Oszczędności','Inne'}) >> title('budżet domowy') Przykład 4. Wykonać powyższy wykres w widoku 3D: >> pie3(x,[1 0 0 0 0 0 0],{'Podatki','Dom','Jedzenie','Samochód', 'Telefon','Oszczędności','Inne'}) 8
W diagramach kołowych przy wycinkach zamiast opisów można umieszczać wartości procentowe. Przykład 5. Wykonać polecenia: >> pie3(x,[1 0 0 0 0 0 0]) >> legend('podatki','dom','jedzenie','samochód','telefon', 'Oszczędności','Inne') Histogram Histogram dla Matlaba to wykres słupkowy służący do prezentowania częstości występowania danych liczbowych w określonych przedziałach. Do jego tworzenia służy polecenie hist. Przykład 1. Wygenerować próbkę 100 danych z przedziału [0,1] i stworzyć dla niej histogram. >> x=rand(100,1) >> hist(x) 9
Przykład 2. Wygenerować dwie próbki po 100 danych z przedziału [0,1] i stworzyć dla nich histogram. >> x=rand(100,2) >> hist(x) Przykład 3. Dla wyżej wygenerowanych próbek stworzyć histogram z ograniczoną liczbą przedziałów do 4 i legendą. >> hist(x,4) >> legend( Pierwsza porcja danych, Druga porcja danych,3) Wykres schodkowy Do wykonania wykresu schodkowego, czyli łączącego punkty liniami poziomymi i pionowymi, służy polecenie stairs. Przykład. Napisać skrypt: >> x=0:.2:4*pi; 10
>> stairs(x,sin(x)) Wielokąty W Matlabie istnieje możliwość tworzenia dowolnych rysunków. Do tego służą polecenia: line(x,y) rysuje łamaną łączącą wierzchołki punktów wyznaczonych przez elementy wektorów x i y, fill(x,y, c ) rysuje wielokąt o wierzchołkach w punktach wyznaczonych przez elementy wektorów x i y wypełniony kolorem określonym przez argument c według poniższego opisu kolorów: y żółty, m fioletowy, c turkusowy, r czerwony, g zielony, b niebieski, w biały, k czarny. Przykład. Narysować trójkąt o wierzchołkach (0,1), (3,4), (4,2) za pomocą obu tych funkcji. >> line([0 3 4 0],[1 4 2 1]) >> fill([0 3 4 ],[1 4 2],'b') 11