2. Grafika. Hlavní funkcí na vykreslování grafů je funkce plot. Jako argumenty má dva vektory (stejné dimenze), první pro osu x, druhý pro osu y.

Podobné dokumenty
Základy algoritmizace a programování

Lineární algebra s Matlabem cvičení 3

MATrixLABoratory letný semester 2004/2005. Zobrazovanie v 3D

Grafy, úprava, popisky, vizualizace výsledk výpo - pokra ování Další typy graf plot semilogx semilogy loglog Více graf

Vizualizace. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Grafické výstupy v Octave/Matlabu a GnuPlotu

Kreslení grafů v Matlabu

Příklad animace změny prokládané křivky při změně polohy jednoho z bodů

smaže n-tý sloupec matice A vybere hodnotu 6.,1.,3.,2.prvku vektoru a a1 =

KTE / PPEL Počítačová podpora v elektrotechnice

text(x,y,'nejaky text') umístí text na souřadnice x, y

3D grafika. Příprava dat

Příklady k druhému testu - Matlab

MATLAB HRAVĚ Zdeněk Jančík, FIT VUT Brno

KTE / PPEL Počítačová podpora v elektrotechnice

X37SGS Signály a systémy

Práce s vektory. Vytváření vektorů. Přístup k prvkům vektoru. Zpracování prvků vektoru. Knihovní funkce pro práci s vektory. Generování vektorů

Cvi ení 2. Cvi ení 2. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 5, 2018

vysledek = ((1:1:50).*(100-(1:1:50))) *ones(50,1) vysledek = ((1:1:75)./2).*sqrt(1:1:75) *ones(75,1)

BPC2E_C08 Parametrické 3D grafy v Matlabu

Visualizace a animace. Jan Velechovský. Maple. plots Odkazy. Matlab. Animace Odkazy IDL. Odkazy. Gnuplot. 10. prosince Animace.

Vytváranie trojrozmerných grafických zobrazení v prostredí MATLAB a interaktívne úpravy grafov pomocou Figure Toolbar

Příklad: Vytvořte funkci s názvem vypocet bez parametrů, která bude řešit soustavu lineárních algebraických rovnic Ax = b, kde A je matice

Indexové výrazy >> A(1,:) >> A=[1,2;3,4] >> a=a(:) >> a(3)= 8 A = a = ans = 1 2. >> a a = >> A(2,1) >> A(:,1) ans = ans = >> a(3) ans =

Interpolace a aproximace dat.

Obsah Elementární funkce pro kreslení grafů ve 3D Speciální funkce pro kreslení grafů ve 3D... 18

Projekt Pospolu. Zpracování tachymetrie kompletně Obor M/01 Stavebnictví

- 1 - MATLAB základy I.Pultarová, únor 2002

Nápověda k aplikaci GraphGUI

Histogram a jeho zpracování

Histogram a jeho zpracování

Slouží pro výběr prvků, skupin a komponent pro další použití

2.7.2 Mocninné funkce se záporným celým mocnitelem

Předzpracování dat. Cvičení 2: Import a příprava dat v Matlabu MI-PDD, 09/2011. Pavel Kordík MI-POA

více křivek v jednom grafu hold on přidrží aktuální graf v grafickém okně, lze nakreslit více grafů do jednoho grafického okna postupně hold off

DS SolidWorks PDM Workgroup

MATEMATICKÁ ANALÝZA A LINEÁRNÍ ALGEBRA PŘÍPRAVA NA ZKOUŠKU PRO SAMOUKY

DUM 11 téma: Nástroje pro transformaci obrázku

P íklady k druhému testu - Matlab

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Základy algoritmizace a programování

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

Vektorový grafický editor

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Příklady k třetímu testu - Matlab

Nerovnice s absolutní hodnotou

Programovací stanice itnc 530

15 s. Analytická geometrie lineárních útvarů

IDEA Frame 4. Uživatelská příručka

4 Přesné modelování. Modelování pomocí souřadnic. Jednotky a tolerance nastavte před začátkem modelování.

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

VBA: VYTVOŘENÍ OBJEKTU GRAF (CHART) Deklarace proměnné typu Chart. Pro vytvoření nového grafu použijeme kolekci ChartObjects a její metodu Add.

Řešení diferenciálních rovnic v MATLABu

Úvod do práce s Matlabem

% vyhledání prvku s max. velikostí v jednotlivých sloupcích matice X

spočte histogram hodnot v zadaném poli, tj. kolik prvků je v kterém intervalu hodnot [pole, [binsize, locations, max, min, nbins, /nan]

Microsoft Office. Word styly

Tvorba trendové funkce a extrapolace pro roční časové řady

Euklidovský prostor Stručnější verze

Tabulky Word egon. Tabulky, jejich formátování, úprava, změna velikosti

Petr Hora CDM, ÚT AV ČR Veleslavínova Plzeň MATLAB ver. 4

INFORMATIKA WORD 2007

při vykreslování křivky je důležitá velikost kroku, příp. počet prvků, ve vektoru t (na ose x). t = linspace(0,2*pi,500); y = sin(t); t =

rôzne grafické objekty. My sa zoznámime s dvoj- alebo troj-rozmernými

Popis připojení elektroměru k modulům SDS Micro, Macro a TTC.

Peer Group User Quick Reference Cards

MATLAB. Ing. Jitka Nováková, KTM Katedra textilních materiálů tel

BRICSCAD V13 X-Modelování

Vzdělávání v egoncentru ORP Louny

Abstrakt. Následující text obsahuje detailní popis algoritmu Minimax, který se používá při realizaci rozhodování

2.7.1 Mocninné funkce s přirozeným mocnitelem

Pohyb v listu. Řady a posloupnosti

zpracováním dat, o kterém jsme hovořili v předchozí kapitole, úzce souvisí grafy.

. Poté hodnoty z intervalu [ 1 4, 1 2. ] nahraďte hodnotami přirozeného logaritmu.

Základy programování: Algoritmizace v systému MATLAB

Stručný návod na program COMSOL, řešení příkladu 6 z Tepelných procesů.

Základy matematiky kombinované studium /06

Uživatelský manuál programu WZORKY. pro vyčítání historických databank. z regulátorů PROMOS line 2

LuxRiot uživatelský manuál verze Uživatelský manuál Verze , Stasa s.r.o.,pokorného 14, , PRAHA

KIV/ZI Základy informatiky. MS Excel maticové funkce a souhrny

1.3.1 Kruhový pohyb. Předpoklady: 1105

Studijní opory k předmětu 6AA. 6AA Automatizace. Studijní opory k předmětu. Ing. Petr Pokorný 1/40 6AA AUTOMATIZACE 6AA - cvičení

Návod pro Windows XP

E+034 = ; = e E+034

Sada 2 - MS Office, Excel

VYBRANÉ PROBLÉMY ČASOVÉ OPTIMALIZACE ZDROJOVÉHO KÓDU V PROSTŘEDÍ MATLAB

Určování výměr Srážka mapového listu Výpočet objemů Dělení pozemků

plot() vytváří dvou-dimenzionální grafy, mnoho různých kombinací vstupních argumentů, nejjednodušší formou je plot(y), plot(x,y).

Spinelterminal. Terminálový program pro ladění aplikací s protokolem Spinel. 20. září 2005 w w w. p a p o u c h. c o m v

Tabulkové processory MS Excel (OpenOffice Calc)

MATLAB základy. Roman Stanec PEF MZLU

Digitální kartografie 5

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není

Funkce více proměnných

Manuál k aplikaci WANAS

Diktafon s aktivací hlasem

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec

errorbar chybové úsečky ukazují úroveň spolehlivosti dat nebo odchylku podél křivky.

Stručný návod k programu Octave

Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010

Transkript:

2. Grafika 2.1 Úvod Hlavní funkcí na vykreslování grafů je funkce plot. Jako argumenty má dva vektory (stejné dimenze), první pro osu x, druhý pro osu y. x = 0:0.1:2*pi; y = sin(x); plot(x,y) otevře se nové okno s nápisem Figure. V něm je možné graf dále upravovat, editovat, přidat popisek, atd. Graf vybereme (bílá šipka select object), příkaz Edit/Current object properties. Většinu editačních změn je možné dělat i programově. title('sinusovka'); grid do aktuální Figure můžeme přidat další graf. Aby nevznikla automaticky další Figure, musíme zadat příkaz hold. y2 = cos(x); hold Current plot held plot(x,y2) Když je obrázek hotov, můžeme ho uložit přímo v menu File/Save as v různých formátech. Uložení je možné provést i z příkazové řádky příkazem print: print -djpeg -f1 -r300 figure uloží figure1 (f1) v rozlišení 300dpi jako 24-bitový JPG do souboru figure.jpg export do clipboardu z příkazové řádky print dmeta print dbitmap 2.2 typy grafů 2D plot - jednoduchý 2D graf loglog - graf s log. souřadnicemi semilogx - graf,kde x má log. souřadnice semilogy - graf,kde y má log. souřadnice plotyy - graf s hlavní a vedlejší osou y x = 1:1:1000;

y = log(x); plot(x,y) loglog(x,y) semilogx(x,y) dvě y osy (vpravo/vlevo) 2.3 Více grafů v jednom obrázku Příkaz subplot(m,n,p) x = 0:0.1:2*pi; y1 = sin(x); y2 = cos(x); y3 = 2*y1; y4 = 0.5*y1; y5 = log(y1); Warning: Log of zero. y6 = y1.^2; subplot(3,2,1) plot(x,y1); subplot(3,2,2) plot(x,y2); subplot(3,2,3) plot(x,y3); subplot(3,2,4) plot(x,y4); subplot(3,2,5) plot(x,y5); Warning: Imaginary parts of complex X and/or Y arguments ignored. subplot(3,2,6) plot(x,y6); 2.4 příkaz Plot podrobněji varianty plot(x,y) základní verze plot(y) x-ová osa jsou indexy prvků plot(x,y,s) s obsahuje formátovací řetězec příklad x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs') // čerchovaná čára, červená, čtverec jako marker

Symbol Barva Symbol Ukazatel Symbol Styl čáry b modrá. Bod - plná g zelená o kruh : tečkovaná r červená x kříž -. čerchovaná c modrozelená + plus -- čárkovaná m fialová * hvězda y žlutá s čtverec k černá d diamand w bílá v trojúhelník (dolů) ^ trojúhelník (nahoru) > trojúhelník (vpravo) < trojúhelník (vlevo) p pentagram h hexagram (nahoru) další parametry je možné zadávat pomocí formátovacích proměnných příklad x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs', 'LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',5) 2.5 plotyy Příkaz umožňuje použít dvě nezávislé osy y. Všimněme si že příkaz vrací handly na jednotlivé objekty. (m2_1.m) t = 0:900; A = 1000; a = 0.005; b = 0.005; z1 = A*exp(-a*t); z2 = sin(b*t); [haxes,hline1,hline2] = plotyy(t,z1,t,z2,'semilogy','plot'); axes(haxes(1)) ylabel('semilog Plot') axes(haxes(2)) ylabel('linear Plot') set(hline2,'linestyle','--') 2.6 data v matici x = 1:10; % vektor 1-10 y = randn(10); % matice 10x10 náhodných hodnot plot(x,y) % vytvoří deset grafů do jednoho obrázku 2.7 Speciální grafy sloupcové grafy

bar barh bar3 bar3h area zobrazuje sloupce matice m x n jako m skupin do n svislých sloupců totéž horizontálně totéž 3D totéž horizontálně 3D plocha Příklady Jeden sloupec dat více sloupců 3D horizontálně x = -2.9:0.2:2.9; Y = [ 1 2 3; 5 7 8; 4 9 7;5 7 4]; Y = [ 1 2 3; 5 7 8; 4 9 7;5 7 4]; bar(x,exp(-x.*x),'r') bar(y) bar3h(y) Další možnosti (m2_2.m) Y = round(rand(5,3)*10); subplot(2,2,1) bar(y,'group') title 'Group' subplot(2,2,2) bar(y,'stack') title 'Stack' subplot(2,2,3) barh(y,'stack') title 'Stack' subplot(2,2,4) bar(y,1.5) title 'Width = 1.5' 2.7 Speciální grafy diskrétní data stem stem3 stairs diskrétní sekvence diskrétní sekvence z dat z roviny xz Příklad (m2_3.m) alpha =.02; beta =.5; t = 0:4:200; y = exp(-alpha*t).*cos(beta*t); subplot(2,2,1); % normální zobrazení plot(t,y) % diskrétní zobrazení subplot(2,2,2); stem(t,y) subplot(2,2,3); stairs(t,y)

2.8 plochy úvod Surf, contour, surfc (m2_4.m) [X,Y,Z] = peaks(30); % plocha surf(x,y,z); % vrstevnice contour(x,y,z); % plocha + vrstevnice surfc(x,y,z); % mapovani barev colormap hsv colormap gray podrobnější 3D graf data obrázek vlastní vykreslení mapování barev a algoritmus stínování světlo pohled na graf Z = peaks(20); figure h = surf(z) colormap hot shading interp set(h,'edgecolor','k') light('position',[-2,2,20]) lighting phong material([0.4,0.6,0.5,30]) set(h,'facecolor',[0.7 0.7 0],'BackFaceLighting','lit') view([30,25]) set(gca,'cameraviewanglemode','manual') osy axis([5 15 5 15-8 8]) set(gca,'zticklabel','negative Positive') poměr stran set(gca,'plotboxaspectratio',[2.5 2.5 1]) titulky xlabel('x Axis') ylabel('y Axis') zlabel('function Value') title('peaks') Čárový 3D graf funkce plot3(x,y,z) x,y,z jsou vektory shodné délky t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t) axis square; grid on Čárový 3D graf funkce plot3(x,y,z) x,y,z jsou matice nxm shodné velikosti [X,Y] = meshgrid([-2:0.1:2]); % užitečná funkce meshgrid Z = X.*exp(-X.^2-Y.^2); plot3(x,y,z) 3D grafy podrobněji

Rozdíl mezi mesh() a surf() mesh = drátový model, surf = stínová plocha Z = peaks(30); mesh(z) figure surf(z) funkce dvou proměnných: meshgrid [X,Y] = meshgrid(-8:.5:8); %vytvoření sítě pro mesh R = sqrt(x.^2 + Y.^2) + eps; %matice R obsahuje vzdálenosti od středu + malá konstanta Z = sin(r)./r; % vytvoření dat mesh(x,y,z) tatáž data pomocí surf a vylepšení zobrazení surf(x,y,z,'facecolor','interp','edgecolor','none','facelighting','phong') daspect([5 5 1]) % nastaveni ascpet ratio pro jednotlive osy axis tight % nastavení os podle dat view(-50,30) % nastavení pohledu camlight left % nastavení světla vlevo a nahoru od kamery ostatní - legenda na 3D grafech Z = peaks(30); surf(z); colorbar % vytvoří barevnou škálu podle aktuální mapy barev colormap hot % změní barevnou mapu i škálu ostatní drátový model odstranění hidden lines Z = peaks(30); mesh(z); hidden off 2.9 animace Příkaz getframe vezme aktuální obraz a uloží ho jako n-tý frame do matice Příkaz movie přehraje danou matici n-krát movie(m,n) for k = 1:16 plot(fft(eye(k+16))) axis equal M(k) = getframe end movie(m,2) % jina animace Z = peaks; surf(z); axis tight set(gca,'nextplot','replacechildren'); % Record the movie

for j = 1:20 surf(sin(2*pi*j/20)*z,z) F(j) = getframe; end % Play the movie twenty times movie(f,20) 2.10 Zobrazení objemu Objemová data jsou uložena buď ve skalární podobě (x,y,z,hodnota) nebo jako vektory. Příklady dat v matlabu: [x,y,z,v] = flow; % rychlostní profil tekutiny ; % průběh větru nad severní amerikou Skalární data jsou nejlépe zobrazitelná jako izoplochy nebo konturové řezy, vektorová data mají směr i velikost pro každý bod, nejlépe je zobrazíme pomocí proudových čar nebo šipkových či kuželových grafů Skalární data - Konturové řezy [x y z v] = flow; h = contourslice(x,y,z,v,[1:9],[],[0],linspace(-8,2,10)); axis([0,10,-3,3,-3,3]); daspect([1,1,1]) camva(24); camproj perspective; campos([-3,-15,5]) set(gcf,'color',[.5,.5,.5],'renderer','zbuffer') set(gca,'color','black','xcolor','white', 'YColor','white','ZColor','white') jiný příklad na konturové řezy for i=1:10 for j=1:10 for k=1:10 value(i,j,k) = sin(i/4)*sin(j/4)*sin(k/4); end end; end; contourslice(value,[1:2:10],[1:2:10],[1:2:10]) campos([10,8,10]); ta stejná data pomocí izoploch figure slice(value,[1:2:10],[1],[1]); campos([10,8,10]); vylepšení izoplochy o interpolaci hsurfaces = slice(value,[1,4,6,8,10],[1],[1]);

set(hsurfaces,'facecolor','interp','edgecolor','none') campos([10,8,10]); vektorová data kuželový graf xmin = min(x(:)); xmax = max(x(:)); ymin = min(y(:)); ymax = max(y(:)); zmin = min(z(:)); daspect([2,2,1]) xrange = linspace(xmin,xmax,8); yrange = linspace(ymin,ymax,8); zrange = 3:4:15; [cx cy cz] = meshgrid(xrange,yrange,zrange); hcones = coneplot(x,y,z,u,v,w,cx,cy,cz,5); set(hcones,'facecolor','red','edgecolor','none') hold on wind_speed = sqrt(u.^2 + v.^2 + w.^2); hsurfaces = slice(x,y,z,wind_speed,[xmin,xmax],ymax,zmin); set(hsurfaces,'facecolor','interp','edgecolor','none') hold off axis tight; view(30,40); axis off camproj perspective; camzoom(1.5) camlight right; lighting phong set(hsurfaces,'ambientstrength',.6) set(hcones,'diffusestrength',.8) vektorová data streamy streamline [sx,sy,sz] = meshgrid(80,20:10:50,0:5:15); h = streamline(x,y,z,u,v,w,sx,sy,sz); set(h,'color','red') view(3) zobrazení v řezu, stream zobrazení pomocí markerů [sx sy sz] = meshgrid(80,20:1:55,5); verts = stream3(x,y,z,u,v,w,sx,sy,sz);

iverts = interpstreamspeed(x,y,z,u,v,w,verts,.2); sl = streamline(iverts); set(sl,'marker','.') axis tight; view(2); daspect([1 1 1]) streamparticles pohyb bodů podle rychlosti [sx sy sz] = meshgrid(80,20:1:55,5); verts = stream3(x,y,z,u,v,w,sx,sy,sz); sl = streamline(verts); iverts = interpstreamspeed(x,y,z,u,v,w,verts,.025); axis tight; view(30,30); daspect([1 1.125]) camproj perspective; camva(8) set(gca,'drawmode','fast') streamparticles(iverts,35,'animate',10,'particlealignment','on') totéž v řezu (z = 5) daspect([1 1 1]); view(2) [verts averts] = streamslice(x,y,z,u,v,w,[],[],[5]); sl = streamline([verts averts]); axis tight off; set(sl,'visible','off') iverts = interpstreamspeed(x,y,z,u,v,w,verts,.05); set(gca,'drawmode','fast','position',[0 0 1 1],'ZLim',[4.9 5.1]) set(gcf,'color','black') streamparticles(iverts, 200,... 'Animate',100,'FrameRate',40,... 'MarkerSize',10,'MarkerFaceColor','yellow')