1 / 34

MATLAB

MATLAB. PROJEKTOWANIE GRAFICZNE. 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.

paco
Download Presentation

MATLAB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATLAB PROJEKTOWANIE GRAFICZNE

  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.

  3. OKNA GRAFICZNE

  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 mxn 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.

  5. Grafika dwuwymiarowa

  6. 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.

  7. Funkcje opisujące wykresy

  8. 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/off – wyłącza/włącza tryb czyszczenie okien; • ishold – sprawdza stan przełącznika hold; • axis – zmiana wyglądu osi.

  9. 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).

  10. Wykresy w skali logarytmicznej

  11. 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.

  12. 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.

  13. Funkcje rysujące wykresy danych zespolonych

  14. 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.

  15. Funkcja plot3 • Polecenie plot3(x,y,z,s) generuje trójwymiarową krzywą złożoną z punktów (xi, yi, zi), 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.

  16. Ć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ę.

  17. Funkcja meshgrid • Powierzchnia rysowana jest w Matlabie jako wykres funkcji z=f(x,y), przy czym współrzędne punktów (xi,yi) 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.

  18. [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).

  19. 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.

  20. Ćw.2 Utwórz wykres paraboloidy hiperbolicznej z=y2-x2 w przedziałach x=-1:0.05:1, y=-1:0.05:1. Wyłącz układ współrzędnych, dodaj wykres konturowy.

  21. 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.

  22. Ć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.

  23. 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.

  24. 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')

  25. 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

  26. 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)

  27. 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.

More Related