Obsah 1 1. MATLAB...2 1.1 Hlavní kategorie MATLABských funkcí... 3 1.2 Aritmetické operátory a některé speciální znaky... 3 1.3 Základní elementární funkce MATLABu... 4 1.3.1 Trigonometrické... 4 1.3.2 Exponenciální... 5 1.3.3 Pro komplexní čísla... 5 1.3.4 Numerické... 5 2. MATLAB jako výpočetní prostředek...5 2.1 Maticové operace... 5 2.2 Operace s vektory... 8 2.3 Analýza dat... 8 2.4 Operace s polynomy... 8 2.5 Operace s funkcemi... 9 3. Matlab jako nástroj grafické prezentace...10 3.1 Funkce pro snadné kreslení grafů ve 2D a 3D... 10 3.2 Dvoudimenzionální grafy 2D grafika... 13 3.2.1 Elementární funkce pro kreslení grafů ve 2D... 13 3.2.2 Speciální funkce pro kreslení grafů ve 2D... 15 3.2.3 Popis grafu ve 2D... 15 3.3 Třídimenzionální grafy 3D grafika... 16 3.3.1 Elementární funkce pro kreslení grafů ve 3D... 16 3.3.2 Speciální funkce pro kreslení grafů ve 3D... 18 3.3.3Vizualizace souborů dat... 19 3.3.4 Grafické doplňky... 20 3.3.5 Popis grafu ve 3D... 25 3.3.6 Modelování geometrických těles... 25 3.4 Znázornění kvadratických ploch... 26 3.5 Znázornění rovinných a prostorových oblastí... 28 4. Dodatky...29 4.1 Užitečné klávesové zkratky:... 29 4.2 Užitečné příkazy... 29 4.3 Derivace a integrace v symbolice... 29
2 1. MATLAB MATLAB poskytuje svým uživatelům nejen mocné grafické a výpočetní nástroje, ale i rozsáhlé knihovny funkcí spolu s výkonným programovacím jazykem čtvrté generace. Knihovny jsou svým rozsahem využitelné prakticky ve všech oblastech lidské činnosti. Za nejsilnější stránku MATLABu je považováno mimořádně rychlé výpočetní jádro s optimálními algoritmy, které jsou prověřeny léty provozu na špičkových pracovištích po celém světě. MATLAB byl implementován na všech významnějších platformách. MATLAB nabízí rychlé výpočetní jádro, podporu vícerozměrných polí a uživatelsky definovaných datových struktur, otevřený a rozšiřitelný systém, působivou 2D a 3D grafiku, množství aplikačních knihoven, programovací jazyk 4. generace, objektové programování, interaktivní nástroje pro tvorbu grafického uživatelského rozhraní (GUI builder), rozšířenou podporu řídkých matic, pohodlnou práci se soubory různých formátů, integrované prostředí pro ladění programů (debugger), zvukový vstup a výstup, animaci, výpočetní jádro pro programy psané ve Fortranu a jazyce C a rozsáhlou tištěnou i hypertextovou on-line dokumentaci. Jádrem programu jsou algoritmy pro operace s maticemi komplexních čísel. MATLAB umožňuje provádět všechny běžné operace jako násobení, inverze, determinant atd. a v nejjednodušší podobě je možno jej použít jako maticový kalkulátor, protože všechny tyto operace se zapisují téměř tak, jako bychom je psali na papíře. Kromě datových typů jednodušších než tradiční matice podporuje MATLAB také typy složitější, jako jsou např. vícerozměrná pole reálných nebo komplexních čísel. Dalším datovým typem jsou tzv. pole buněk, tedy struktury podobné maticím, ve kterých ovšem každý prvek může být jiného typu. Podobně lze tvořit datové struktury, kde jsou prvky rozlišeny ne souřadnicemi, ale jménem, takže připomínají struktury známé z běžných programovacích jazyků. Skládáním těchto datových typů je pak možné vytvořit libovolně složité datové struktury. MATLAB ukládá všechna čísla v tzv. dvojité přesnosti, ovšem na přání uživatele je možné zvolit úspornější formu. Vektor reálných čísel může v MATLABu reprezentovat i polynom a operace s polynomy jsou v programu rovněž obsaženy. Vektory mohou také reprezentovat časové řady nebo signály a MATLAB obsahuje funkce pro jejich analýzu, jako hledání extrémů, výpočet střední hodnoty, směrodatné odchylky a korelačních koeficientů nebo rychlou Fourierovu transformaci. MATLAB také podporuje speciální formát uložení tzv. řídkých matic, které jsou rozměrem velké, ale obsahují většinu nulových prvků. MATLAB přidává možnost definovat k datovým strukturám funkce, které s nimi pracují. Tyto objekty obohacují výpočetní prostředí MATLABu o prostředky obecných programovacích jazyků a posouvají tak jeho možnosti na úroveň například C++. Spojení objektově orientovaného jazyka s ověřenou matematickou a grafickou silou vytváří z MATLABu bezkonkurenčně ucelený výpočetní systém. Grafika v MATLABu umožňuje snadné zobrazení a prezentaci získaných výsledků. Je možné vykreslit různé druhy grafů: dvourozměrné, třírozměrné, histogramy, apod. MATLAB také umožňuje otevřít více oken pro zobrazení grafů najednou nebo zobrazit více grafů v jednom okně. Pro pokročilé uživatele je určeno stínování třírozměrných grafů s určením zdroje dopadajícího světla, animace třírozměrných grafů, zobrazení kontur a mnoho dalších grafických funkcí. Většinu těchto efektů je možné docílit jedním nebo několika málo příkazy a jejich vykreslení je rychlé díky použitému algoritmu Z-buffer. Obrázky v grafických oknech MATLABu navíc nejsou statické každý již nakreslený objekt má přiřazen identifikátor, jehož prostřednictvím je možné měnit vlastnosti objektu a tím i jeho vzhled. Tento grafický systém, nazvaný Handle Graphics, umožňuje vytvořit v okně také ovládací prvky (tlačítka apod.) a vytvořit tak graficky ovládané uživatelské rozhraní. Samozřejmě je k dispozici nástroj pro vytvoření uživatelského rozhraní interaktivně, bez nutnosti programování. MATLAB dále podstatně rozšiřuje možnosti práce s trojrozměrnými objekty včetně nových technik násvitu, stínování a perspektivních zobrazení objektů. Vysoká kvalita zobrazení je zajištěna použitím 24-bitových barev. Vlastností, která patrně nejvíce přispěla k rozšíření MATLABu, je jeho otevřená architektura. MATLAB je úplný programovací jazyk, to znamená, že uživatelé v něm mohou vytvářet funkce šité
3 na míru pro jejich aplikace. Tyto funkce se způsobem volání nijak neliší od vestavěných funkcí a jsou uloženy v souborech v čitelné formě. Dokonce většina funkcí s MATLABem dodávaných je takto vytvořena a opravdu vestavěné jsou jen funkce základní. To má dvě velké výhody: jazyk MATLABu je téměř neomezeně rozšiřitelný a kromě toho se uživatel může při psaní vlastních funkcí poučit z algoritmů s programem dodávaných. Navíc jsou takto koncipované funkce snadno přenosné mezi různými platformami, na kterých je MATLAB implementován. MATLAB poskytuje 24 hlavních kategorií funkcí. Některé MATLABské funkce jsou obsaženy uvnitř interpreteru, zatímco jiné jsou ve formě M-files (M-souborů). M-files obsahují pouze pomocný text, jsou organizovány do 24 adresářů, z nichž každý obsahuje soubory sdružené s kategorií. 1.1 Hlavní kategorie MATLABských funkcí audio datafun datatypes demos elfun elmat funfun general graph2d graph3d graphics iofun lang matfun ops polyfun sparfun specfun specgraph strfun timefun uitools verctrl winfun podpora zvuku analýza dat a Fourierova transformace datové typy a struktury příklady a demonstrace elementární matematické funkce elementární matice a manipulace s maticemi funkce pro práci s funkcemi a ODE řešení funkce k obecnému použití dvoudimenzionální (2-D) grafika třídimenzionální (3-D)grafika ovládání grafiky soubory vstupu/výstupu konstrukce programovacího jazyka maticové funkce numerická lineární algebra operátory a speciální znaky interpolace a polynomy řídké matice speciální matematické funkce speciální grafy znakové řetězce čas a datum nástroje grafického uživatelského rozhraní řízení verze soubory rozhraní operačního systému Windows (DDE/ActiveX) V adresáři Matlab6p1\Toolbox\Matlab je uloženo 24 hlavních adresářů, ve kterých jsou jednotlivé příkazy a funkce programu MATLAB. Po spuštění například příkazu help audio, získáme všechny příkazy a funkce sdružené v adresáři audio. Abychom získali podrobný popis jednotlivého příkazu (například colormap), nebo funkce, pak spouštíme příkaz help colormap. Jestliže chceme průvodce MATLABem, pak spustíme příkaz intro, a jestliže si chceme prohlédnout demonstrační příklady, pak zadáme příkaz demo. 1.2 Aritmetické operátory a některé speciální znaky + plus + unární plus minus unární minus * násobení matic.* násobení polí; tj. prvků matic ^ umocnění matic.^ umocnění polí
4 \ né lomítko nebo dělení matic zleva / lomítko nebo dělení matic zprava.\ dělení polí zleva./ dělení polí zprava kron kroneckerův tenzorový součin : dvojtečka ( ) kulaté závorky a indexování [ ] hranaté závorky { } složené závorky a indexování. desetinná tečka. přístup k strukturnímu poli.. nadřazený adresář... pokračování, čárka, separátor ; středník % poznámka! vykřičník; dovolává se příkazu operačního systému = přiřazení uvozovky. transpozice atd. Nebudeme probírat všechny MATLABské příkazy a funkce, ale zaměříme se na ty nejzákladnější a ty, které souvisí s výukou předmětu Matematika I a II. Přitom text, který je psán v programu MATLAB a výstupy z tohoto programu budou psány písmem Courier New, názvy M-filů budou psány kurzívou. 1.3 Základní elementární funkce MATLABu 1.3.1 Trigonometrické Funkce Název funkce Příkaz MATLABU Výstup MATLABU sin sinus sin(3) 0.1411 sinh hyperbolický sinus sinh(3) 10.0179 asin arkussinus asin(0.9) 1.1198 asinh argument hyperbolického sinu asinh(0.4) 0.3900 cos kosinus cos(3) -0.9900 cosh hyperbolický kosinus cosh(3) 10.0677 acos arkuskosinus acos(0.4) 1.1593 acosh argument hyperbolického kosinu acosh(2) 1.3170 tan tangens tan(3) -0.1425 tanh hyperbolický tangens tanh(3) 0.9951 atan arkustangens atan(4) 1.3258 atan2 čtyř-kvadrantový arkustangens atan2(1.1,1) 0.8330 atanh argument hyperbolické tangenty atanh(5) 0.2027+1.5708i sec sekans sec(3) -1.0101 sech hyperbolický sekans sech(3) 0.0993 asec arkussekans asec(5) 1.3694 asech argument hyperbolické sekanty asech(8) 0 + 1.4455i csc kosekans csc(3) 7.0862 csch hyperbolický kosekans csch(3) 0.0998 acsc arkuskosekans acsc(5) 0.2014 acsch argument hyperbolické kosekanty acsch(4) 0.2475
5 cot kotangens cot(3) -7.0153 coth hyperbolický kotangens coth(3) 1.0050 acot arkuskotangens acot(3) 0.3218 acoth argument hyperbolické kotangenty acoth(7) 0.1438 1.3.2 Exponenciální Funkce Název funkce Příkaz MATLABU Výstup MATLABU exp exponenciální funkce exp(8) 2.9810e+003 log přirozený logaritmus log(9.8) 2.2824 log10 dekadický logaritmus log10(10) 1 log2 logaritmus o základu dvě log2(16) 4 pow2 mocnina o základu dvě pow2(3) 8 sqrt druhá odmocnina sqrt(16) 4 atd. 1.3.3 Pro komplexní čísla Příkaz MATLABU Výstup MATLABU Funkce Název funkce abs absolutní hodnota abs(-2+3i) 3.6056 angle argument komplexního čísla angle(-2+3i) 2.1588 (fázový úhel) complex sestrojí komplexní číslo z reálné complex(-2,3) -2.0000+3.0000i a imaginární části conj komplexně sdružené číslo conj(-2+3i) -2.0000 3.0000i imag imaginární část komplexního čísla imag(-2+3i) 3 real reálná část komplexního čísla real(-2+3i) -2 atd. 1.3.4 Numerické Funkce Název funkce Příkaz MATLABU Výstup MATLABU fix převede na celé číslo tak, že odřízne desetinnou část fix(-5.16) -5 floor zaokrouhlí dolů na nejbližší nižší celé číslo floor(-5.16) -6 ceil zaokrouhlí nahoru na nejbližší vyšší celé číslo ceil(-5.16) -5 round zaokrouhlí na celé číslo běžným způsobem round(-5.16) -5 mod modul (znaménko zbytku po celočíselném dělení) mod(7,-2) -1 rem zbytek po celočíselném dělení rem(7,2) 1 sign funkce signum (znaménko funkce) sign(-5.16) -1 2. MATLAB jako výpočetní prostředek 2.1 Maticové operace Matice může být do MATLABu zavedena několika způsoby: napsána jako seznam prvků, vygenerována příkazem nebo funkcí, vytvořena v souboru lokálním editorem a načtena, načtena z externího datového souboru nebo aplikace.
6 Jazyk MATLABu neobsahuje žádný příkaz pro nastavení dimenze nebo typu matice. Potřebnou paměť alokuje MATLAB automaticky až do velikosti využitelné na konkrétním počítači. Popis funkce Příkaz MATLABU Výstup MATLABU Naplnění matice A=[1,1,1;3,1,-1;1,-2,4] 1 1 1 3 1 1 1 2 4 Transponovaná matice A' 1 3 1 1 1 2 1 1 4 Vyjmutí diagonály z matice Vložení prvků do hlavní diagonály a vynulování ostatních Vyjmutí dolní trojúhelníkové matice Vyjmutí horní trojúhelníkové matice Zrcadlení matice ve směru zleva doprava Zrcadlení matice ve směru shora dolů Zrcadlení matice podle dimenze d = 1 flipud d = 2 fliplr Třídění podle řádků (vzestupně) Rotace matice o 90 stupňů A=[1,1,1;3,1,-1;1,-2,4]; diag(a) blkdiag(2,7,4) tril(a) triu(a) fliplr(a) flipud(a) flipdim(a,1) flipdim(a,2) sortrows(a) rot90(a) Součet diagonálních prvků trace(a) 6 Determinant matice det(a) -18 Ortogonální matice orth(a) 0. 1157 0. 2304 Inverzní matice inv(a) Hodnost matice rank(a) 3 1 1 4 2 0 0 1 3 1 1 0 0 1 1 1 3 1 1 3 1 4 1 1 1 1 3 1 1 1 4 0 7 0 0 1 1 1 1 0 2 0 0 4 0 0 4 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 3 4 1 3 1 4 1 1 4 1 1 1 3 1 4 1 1 4 2 0. 9662 0. 1111 0. 7222 0. 3889 1 0. 3749 0. 9109 0. 1723 0. 3333 0. 1667 0. 1667 0. 9198 0. 3423 0. 1918 0. 1111 0. 2222 0. 1111
Číslo podmíněnosti matice cond(a) 4.1890 Norma matice norm(a) norm(a,2) 4.6984 4.6984 Sloupcová norma matice norm(a,1) 6 Řádková norma matice norm(a,inf) 7 Frobeniova (Eukleidovská) norm(a,'fro') 5.9161 norma matice Odhad 2 normy matice normest(a) 4.6984 Charakteristický polynom poly(a) 1.0-6.0 3.0 18.0 Umocnění matice A n A^3 9 3 21 A 3 = A * A * A 21 15 9 9 48 84 Matice s exponenciálními exp(a) 2. 7183 2. 7183 2. 7183 prvky k matici A 20. 0855 2. 7183 0. 3679 2. 7183 0. 1353 54. 5982 Exponenciální matice expm(a) 6. 0161 6. 3899 20. 4593 14. 3918 12. 7284 7. 0347 13. 1022 47. 6310 80. 8187 Matice s logaritmickými log(a) 0 0 0 prvky k matici A 1. 0986 0 0+ 3. 1416i 0 0. 6931+ 3. 1416i 13863. Logaritmická matice logm(a) 0. 7285 + 1. 3439i 0. 1518 0. 9221i 0. 2184. Druhá odmocnina prvků matice A Druhá odmocnina matice Funkční operace s maticí Sčítání matic A + B Odčítání matic A B Násobení matic A * B Řešení systému lineárních rovnic AX = B Nalezení matice X tak, aby platilo AX = B sqrt(a) sqrtm(a) funm(a,@sin) 7 0. 5386 2. 1410i 0. 1352 1. 0472i 0. 9572+ 0. 5011i 1. 1857 0. 7983i 0. 4577 0. 3905i A=[1,1,1;3,1,-1;1,-2,4]; B=[3,3,3;4,2,5;1,5,7]; A+B A=[1,1,1;3,1,-1;1,-2,4]; B=[3,3,3;4,2,5;1,5,7]; A-B A=[1,1,1;3,1,-1;1,-2,4]; B=[3,3,3;4,2,5;1,5,7]; A*B A=[1,1,1;3,1,-1;1,-2,4]; B=[3;3;3]; A\B A=[-1,4,-2;2,3,1;3,3,2]; B=[1,-1;0,-1;1,0]; inv(a)*b 0. 7451 + 1. 4690i 0. 4534 + 0. 7185i 1. 0000 1. 7321 1. 0000 0. 4343 0. 3438i 0. 9338+ 0. 5478i 0. 6577+ 0. 2679i 0. 2363 4 7 2 0. 7482 0. 7351 2 1 0 8 12 1 4 3 3 4 4 11 2 1 7 10 6 19 0 4218i 0. 1851 + 0. 6720i 1. 0000 1. 0000 0 + 1. 4142i 0. 4184 2 6 3 15 7 21 1 1 1 13 11 4 14 3 12 1. 4168+ 0. 3287i 1. 0000 0 + 1. 0000i 2. 0000 0. 3406 0. 1573i 0. 3874+ 0. 2506i 0. 5530 0. 5333 1. 9321+ 0. 1226i 0. 1756 0. 1887 1. 1273
2.2 Operace s vektory Popis funkce Příkaz MATLABU Výstup MATLABU Zadání vektorů u=[1,2,3];v=[2,-1,2]; Velikost (norma) vektoru norm(u) 3.7417 Sčítání vektorů u+v 3 1 5 Odčítání vektorů u-v -1 3 1 Skalární součin vektorů dot(u,v) 6 Vektorový součin vektorů cross(u,v) 7 4-5 2.3 Analýza dat Popis funkce Příkaz MATLABU Výstup MATLABU Zadání dat d=[-2,-1,5,0,3,2,4,2,5,6] -2 1 5 0 3 2 4 2 5 6 Setřídění dat sort(d) -2 1 0 2 2 3 4 5 5 6 Součet dat sum(d) 24 Součin dat prod(d) 0 Nalezení minima min(d) -2 Nalezení maxima max(d) 6 Nalezení mediánu median(d) 2.5 Aritmetický průměr mean(d) 2.4 Směrodatná odchylka std(d) 2.7162 Rozptyl var(d) 7.3778 Numerická integrace trapz(d) 22 lichoběžník. metodou Kumulativní součet cumsum(d) -2 3 2 2 5 7 11 13 18 24 elementů Kumulativní součin cumprod(d) -2 2 10 0 0 0 0 0 0 0 elementů Kumulativní numer. cumtrapz(d) 0-1.5 0.5 3 4.5 7 10 13 16.5 22 integrace lich. met. Gradient gradient(d) 1 3.5 0.5 1 1 0.5 0 0.5 2 1 Diference funkce a diff(d) 1 6-5 3-1 2-2 3 1 aproximace derivace Korelační koeficient corrcoef(d) 1 Kovariance cov(d) 7.3778 Největší společný gcd(36,135) 9 dělitel dvou čísel Nejmenší společný násobek dvou čísel lcm(26,65) 130 2.4 Operace s polynomy Popis funkce Příkaz MATLABU Výstup MATLABU Zadání polynomu p = x 2 + 5x + 6 p=[1,5,6] 1 5 6 Výpočet hodnoty polynomu pro x = 3 polyval(p,3) 30 Sčítání polynomů p + q, kde q = x 3 q=[0,1,-3];p+q 1 6 3 Násobení polynomů p * q conv(p,q) 0 1 2-9 -18 Dělení polynomů p / q q=[1,3];deconv(p,q) 1 2 Nalezení kořenů polynomu p roots(p) -3-2 Derivace polynomu p polyder(p) 2 5 Integrace polynomu analyticky polyint(p) 0.3333 2.5 6 0 8
Vytvoření polynomu s danými kořeny 2, 3 k=[2,3];poly(k) 1-5 6 Nalezne koeficienty polynomu n-tého stupně x=[0,1,2]; y=[0,6,9]; -1.5 7.5-0.0 aproximující data (x, y) (nejmenší čtverce) polyfit(x,y,2) B( x) B=[5,1]; A=[1,1,-2]; r = 3 Rozklad racionální lomené funkce [r,p,k]=residue(b,a) 2 A( x) p =-2 na parciální zlomky 1 5x + 1 3 2 k =[] = + + 0 2 x + x 2 x + 2 x 1 2.5 Operace s funkcemi 9 a) Zadání elementární funkce jsou zde již vytvořené, například sin(x), cos(x) atd. b) Vytvoření nové funkce Je nutné na disku vytvořit soubor například fce.m, který tvoří předpis pro výpočet funkčních hodnot nové funkce s názvem fce. Vytvoříme funkci jedné proměnné kvad, pomocí kvad.m, která bude definována takto: y = (x 0,1) 2 + 1. Pak vytvoříme funkci jedné proměnné kv, pomocí kv.m, která bude definována takto: y = (x 3) 2 + 2 a nakonec funkci dvou proměnných fce, pomocí fce.m, která bude definována takto: z = x 3 3xy + y 3. Soubor kvad.m obsahuje tento text: Soubor kv.m obsahuje tento text: Soubor fce.m obsahuje tento text function[u]=fce(x); u=(x-0.1).^2+1; function[u]=fce(x); u=-(x-3).^2+2; function[z]=fce(x,y); z=x.^3-3.*x.*y+y.^3; c) Nalezení minima funkce jedné proměnné příkaz fminbnd (fun,x1,x2), fminsearch (fun,x1), Nelder-Mead metoda, kde fun je funkce buď elementární, nebo předem vytvořená příkazem function, nebo přímo pomocí funkčního předpisu, x1 je dolní hranice intervalu a x2 horní hranice intervalu, ve kterém hledáme minimum. Výsledkem je x-ová souřadnice minima. Pro výpočet funkční hodnoty pak použijeme příkaz function(x) Příklady: fminbnd('sin',-1,1) Výsledkem je 1 a sin( 1) pak dává hodnotu -0.8415. fminbnd('kvad',-3,3) Výsledkem je 0.1 a kvad(0.1) pak dává hodnotu 1. fminbnd('x.^2-2*sqrt(2).*x+9',-3,3) Výsledkem je 1.4142. fminsearch('sin',-1) Výsledkem je -1.5708 a sin( 1.5708) pak dává hodnotu -1.0000. fminsearch('kvad',-3) Výsledkem je 0.1 a kvad(0.1) pak dává hodnotu 1. fminsearch('x.^2-2*sqrt(2).*x+9',-3) Výsledkem je 1.4142. d) Nalezení nulových bodů funkce jedné proměnné příkaz fzero (fun,x0), kde fun je funkce buď elementární, nebo předem vytvořená příkazem function, nebo přímo pomocí funkčního předpisu, x0 je dolní hranice intervalu, od kterého se má nalézt nulový bod. Výsledkem je x-ová souřadnice nulového bodu. Příklady: fzero('sin',2) Výsledkem je 3.1416. fzero('kv',-4) Výsledkem je 1.5858. fzero('-(x-3).^2+2',-4) Výsledkem je 1.5858.
10 e) Numerický výpočet určitého integrálu příkaz quad (fun,a,b), quadl (fun,a,b),výpočet vyššími metodami, kde fun je funkce buď elementární, nebo předem vytvořená příkazem function, nebo přímo pomocí funkčního předpisu, a, b jsou dolní a horní mez určitého integrálu. Příklady: quad('sin',0,1) Výsledkem je hodnota 0.4597. quad('kv',1,5) Výsledkem je hodnota 2.6667. quad('-(x-3).^2+2',1,5) Výsledkem je hodnota 2.6667. quadl('sin',0,1) Výsledkem je hodnota 0.4597. quadl('kv',1,5) Výsledkem je hodnota 2.6667. quadl('-(x-3).^2+2',1,5) Výsledkem je hodnota 2.6667. f) Numerický výpočet dvojného integrálu příkaz dblquad(fun,xmin,xmax,ymin,ymax), kde fun je funkce buď elementární, nebo předem vytvořená příkazem function, nebo přímo pomocí funkčního předpisu, a xmin, xmax jsou dolní a horní mez pro proměnnou x a ymin, ymax jsou dolní a horní mez pro proměnnou y. Příklady: dblquad('sinx+cosy',0,pi/2,0,pi/2) Výsledkem je hodnota 3.8758. dblquad('fce',0,1,0,2) Výsledkem je hodnota 1.5. dblquad('x.^3-3.*x.*y+y.^3',0,1,0,2) Výsledkem je hodnota 1.5. g) Řešení diferenciální rovnice příkaz [t,x] = ode45 (odefun,tspan,x0), kde tspan = [t0 tfinal] [t,x] = ode23 (odefun,tspan,x0), kde tspan = [t0 tfinal] kde odefun je předem vytvořená diferenciální rovnice, t0 je startovací a tfinal je koncová hodnota a x0 je vektor, který představuje počáteční podmínky. Obě funkce používají Metodu Runge-Kutta, funkce ode23 pracuje jednoduššími metodami. Příklady: t0=0;tf=20;x0=[1,2.72]; tspan=[t0 tf];[t,x]=ode45('dif',tspan,x0);plot(t,x) Soubor dif.m obsahuje tento text: function u=dif(t,x); u=exp(t)+x; Výsledkem je graf funkce, která je řešením této diferenciální rovnice. nebo t0=0;tf=20;x0=[1,2.72]; tspan=[t0 tf];[t,x]=ode23('dif',tspan,x0);plot(t,x); Výsledkem je graf funkce, která je řešením této diferenciální rovnice jednoduššími metodami. 3. Matlab jako nástroj grafické prezentace 3.1 Funkce pro snadné kreslení grafů ve 2D a 3D Syntaxe uvedené u jednotlivých příkazů (funkcí) nevyčerpávají všechny možnosti použití tohoto příkazu (funkce), ale pouze ty nejzákladnější, nebo často používané. Rovněž popis jednotlivých příkazů (funkcí) vyjadřuje pouze jeho základní charakteristiku a je co nejstručnější. Pro získání podrobnějších informací o konkrétním příkazu (funkce) vždy použijte příkaz help, za níž následuje název tohoto příkazu (funkce). a) Graf funkce příkaz fplot (fun,lims), kde fun je funkce buď elementární, nebo předem vytvořená příkazem function, nebo přímo pomocí funkčního předpisu, a lims je vektor s počátečním a koncovým bodem intervalu (na ose x), ve kterém se má funkce zobrazit. Příklady: fplot('sin',[-3.14 3.14]) fplot('sin',[-3.14 3.14], 'r') fplot('kv',[-10 10]) fplot('kvad',[-10 10]) fplot('x.^2+x-5',[-10 10])
Grafické znázornění minima funkce kvad: M-soubor minimum.m Grafické znázornění nulových bodů funkce kv: M-soubor nulove.m Grafické znázornění integrálu funkce kv: M-soubor integral.m 11 b) Snadné kreslení grafu funkce příkaz ezplot (fun,[a,b]), ezplot(fun, [xmin, xmax, ymin, ymax]), kde fun je funkce zadaná explicitně, a je počáteční a b koncový bod intervalu proměnné x, xmin a xmax je počáteční a koncový bod intervalu proměnné x, ymin a ymax je počáteční a koncový bod intervalu proměnné y. Příklady: ezplot('sin',[-3.14 3.14]) ezplot('kv',[-10 10]) ezplot('-x.*x+4',[-10 10]) ezplot('x.*x+y.*y-4',[-5,5,-5,5]) c) Snadné kreslení parametricky zadané křivky v prostoru příkaz ezplot3(x,y,z), ezplot3(x,y,z,[tmin,tmax]), kde x, y, z jsou parametrické rovnice křivky a tmin a tmax jsou meze intervalu pro parametr t, jestliže nejsou uvedeny jde implicitně o interval od 0 do 2π. Příklady: ezplot3('3*cos(t)','3*sin(t)','(2*t)/2*pi') ezplot3('3*cos(t)','3*sin(t)','(2*t)/2*pi',[0,6*pi]) d) Snadné vykreslení grafu v polárních souřadnicích příkaz ezpolar(fun), ezpolar(fun,[a,b]), kde fun je funkce parametru t; a, b jsou krajní meze intervalu pro parametr t, jestliže nejsou uvedeny jde implicitně o interval od 0 do 2π. Příklady: ezpolar('3*cos(t)') ezpolar('3*cos(t)',[0,pi/2]) e) Snadné vykreslení vrstevnic grafu příkaz ezcontour (fun), ezcontour (fun,[xmin,xmax,ymin,ymax], fun je funkce dvou proměnných, xmin, xmax jsou dolní a horní mez pro proměnnou x a ymin, ymax jsou dolní a horní mez pro proměnnou y, nejsou-li uvedeny, pak platí implicitní hodnoty od 2π do 2π pro proměnnou x i y. Příklady: ezcontour('fce') ezcontour('fce',[0,1,0,2]) ezcontour('x.^2-3.*x.*y+y.^2',[0,1,0,2]) f) Snadné vykreslení vrstevnic grafu s barevně vyplněnými plochami mezi jednotlivými vrstevnicemi příkaz ezcontourf (fun), ezcontourf (fun,[xmin,xmax,ymin,ymax], fun je funkce dvou proměnných, xmin, xmax jsou dolní a horní mez pro proměnnou x a ymin, ymax jsou dolní a horní mez pro proměnnou y, nejsou-li uvedeny, pak platí implicitní hodnoty od 2π do 2π pro proměnnou x i y. Příklady: ezcontourf('fce') ezcontourf('fce',[0,1,0,2]) ezcontourf('x.^2-3.*x.*y+y.^2',[0,1,0,2]) g) Snadné vykreslení síťového grafu funkce příkaz ezmesh (fun), ezmesh (fun,[xmin,xmax,ymin,ymax]), fun je funkce dvou proměnných, xmin, xmax jsou dolní a horní mez pro proměnnou x a ymin, ymax jsou dolní a horní mez pro proměnnou y, nejsou-li uvedeny, pak platí implicitní hodnoty od 2π do 2π pro proměnnou x i y.
12 Příklady: ezmesh('fce') ezmesh('fce',[0,1,0,2]) ezmesh('x.^2-3.*x.*y+y.^2',[0,1,0,2]) h) Snadné vykreslení síťového (drátového) grafu funkce doplněného o vrstevnice v rovině xy příkaz ezmeshc (fun), ezmeshc (fun,[xmin,xmax,ymin,ymax], fun je funkce dvou proměnných, xmin, xmax jsou dolní a horní mez pro proměnnou x a ymin, ymax jsou dolní a horní mez pro proměnnou y, nejsou-li uvedeny, pak platí implicitní hodnoty od 2π do 2π pro proměnnou x i y. Příklady: ezmeshc('fce') ezmeshc('fce',[0,1,0,2]) ezmeshc('x.^2-3.*x.*y+y.^2',[0,1,0,2]) i) Snadné vykreslení grafu s barevně vyplněnými ploškami příkaz ezsurf (fun), ezsurf (fun,[xmin,xmax,ymin,ymax]), fun je funkce dvou proměnných, xmin, xmax jsou dolní a horní mez pro proměnnou x a ymin, ymax jsou dolní a horní mez pro proměnnou y, nejsou-li uvedeny, pak platí implicitní hodnoty od 2π do 2π pro proměnnou x i y. Příklady: ezsurf('fce') ezsurf('fce',[0,1,0,2]) ezsurf('x.^2-3.*x.*y+y.^2',[0,1,0,2]) j) Snadné vykreslení grafu s barevně vyplněnými ploškami, který je doplněný o vrstevnice v rovině xy příkaz ezsurfc (fun), ezsurfc (fun,[xmin,xmax,ymin,ymax]), fun je funkce dvou proměnných, xmin, xmax jsou dolní a horní mez pro proměnnou x a ymin, ymax jsou dolní a horní mez pro proměnnou y, nejsou-li uvedeny, pak platí implicitní hodnoty od 2π do 2π pro proměnnou x i y. Příklady: ezsurfc('fce') ezsurfc('fce',[0,1,0,2]) ezsurfc('x.^2-3.*x.*y+y.^2',[0,1,0,2]) k) Snadné vykreslení ploch příkaz ezgraph3(plotfun,fun) ezgraph3(plotfun,fun,[xmin,xmax,ymin,ymax]) ezgraph3(plotfun,x,y,z) ezgraph3(plotfun,x,y,z,[smin,smax,tmin,tmax]) plotfun je předdefinovaná standardní funkce pro kreslení ploch jako například surf, fun je funkce dvou proměnných, xmin, xmax jsou dolní a horní mez pro proměnnou x a ymin, ymax jsou dolní a horní mez pro proměnnou y; x, y, z jsou parametrické rovnice plochy a smin, smax jsou dolní a horní mez pro parametr s a tmin, tmax jsou horní a dolní mez pro parametr t, nejsou-li uvedeny, pak platí implicitní hodnoty od 2π do 2π pro oba parametry. Příklady: ezgraph3('surf','fce') ezgraph3('mesh','fce',[0,1,0,2]) ezgraph3('surfl','x.^2-3.*x.*y+y.^2',[0,1,0,2]) ezgraph3('surf','3.*cos(t).*sin(s)','3.*sin(t).*sin(s)','3.*cos(s)') ezgraph3('surfl','5.*cos(t)','5.*sin(t)','s',[0 pi 0 5])
3.2 Dvoudimenzionální grafy 2D grafika 13 3.2.1 Elementární funkce pro kreslení grafů ve 2D Následující seznam obsahuje přehled funkcí, které se liší pouze užitím jiné stupnice os. Všechny akceptují vstupní data ve tvaru vektorů nebo matic a automaticky provádějí transformaci os podle rozsahu hodnot vstupních dat. Funkce Popis funkce plot vytváří graf užitím lineární stupnice pro obě osy loglog vytváří graf užitím logaritmické stupnice pro obě osy semilogx vytváří graf užitím logarit. stupnice pro x-ovou osu a lineární stupnice pro y-ovou osu semilogy vytváří graf užitím logarit. stupnice pro y-ovou osu a lineární stupnice pro x-ovou osu polar plotyy vytváří graf v polárních souřadnicích vytváří dva grafy do jednoho obrázku a y-ové souřadnice prvního grafu popisuje vpravo a y-ové souřadnice druhého grafu popisuje vlevo plot vytváří lineární graf, plot (y); plot (x,y); plot (x,y,s); plot (x1,y1,s1,x2, y2, s2, ), kde y je sloupec y-nových souřadnic (pokud není uvedeno x jsou x jsou přirozená čísla), x je sloupec x-ových souřadnic a s je řetězec 1, 2 nebo 3 znaků, jejichž význam je následující: Symbol Plný název Barva Symbol Typ čáry Symbol Značka y yellow žlutá - plná. bod m magenta fialová : tečkovaná o kroužek c cyan světle modrá -. čerchovaná x značka x r red červená -- čárkovaná + plus g green zelená * hvězdička b blue tmavě modrá s čtvereček w white bílá d kosočtverec k black černá v trojúhelník (dolů) ^ trojúhelník (nahoru) < trojúhelník (vlevo) > trojúhelník (vpravo) p pěticípá hvězda h šesticípá hvězda Příklad1: p1.m Příklad2: p2.m Příklad3: p3.m y=[1,5,6,8,9,10]; plot(y); title('zadány pouze {\ity}-ové hodnoty'); x=0:5; y=x.^4+4.*x+2; plot(y); title('hodnoty {\itx} nejsou specifikovány'); x=-3:0.1:3; y=exp(x)-x.*x+7.*x+2; plot(x,y); title('hodnoty {\itx} jsou specifikovány');
14 Příklad4: p4.m p0.m p00.m p000.m x=-3:0.1:3; y=exp(x)-x.*x+7.*x+2; plot(x,y); axis([-2 2-5 10]); title('nastavení os je upraveno'); postupně po zadání ENTER zobrazí různé typy čar postupně po zadání ENTER zobrazí různé značky postupně po zadání ENTER zobrazí různé barvy Poznámka: Jestliže potřebujeme změnit implicitní tloušťku čáry, můžeme to učinit přímo v příkazu plot tak, že na konec seznamu vstupních parametrů doplníme požadavek na nastavení větší, nebo menší tloušťky čar pomocí příkazu LineWidth. Implicitní tloušťka čáry je 0,5. Jestliže chceme upravit značku, kterou vykreslujeme jednotlivé body, můžeme obdobně doplnit na konec seznamu vstupních parametrů požadavek na nastavení větší nebo menší velikosti značky MarkerSize, změnit barvu hran značky MarkerEdgeColor, nastavit barvu výplně značky MarkerFaceColor a příkazem LineWidth můžeme dokonce změnit i tloušťku hran značky. Dále lze upravovat vlastní data různými interpolačními funkcemi a tím grafy dále upravovat do žádoucí podoby. Příklad5: p5.m demonstruje použití změny tloušťky čar a u značky změnu barvy hran, změnu barvy výplně i tloušťky hran. Příklad6: p6.m demonstruje použití různých interpolačních metod na data. loglog vytváří graf užitím logaritmické stupnice pro osu x i y. Příklad7: p7.m x=0:0.1:10; y=exp(x)-x.*x+7.*x+2; loglog(x,y,'m'); title('logaritmická stupnice pro osu {\itx} i {\ity}'); semilogx vytváří graf užitím logarit. stupnice pro x-ovou osu a lineární stupnice pro y-ovou osu. Příklad8: p8.m x=0:0.1:10; y=exp(x)-x.*x+7.*x+2; semilogx(x,y,'m'); title('logaritmická stupnice pro osu {\itx}'); semilogy vytváří graf užitím logarit. stupnice pro y-ovou osu a lineární stupnice pro x-ovou osu. Příklad9: p9.m x=0:0.1:10; y=exp(x)-x.*x+7.*x+2; semilogy(x,y,'m'); title('logaritmická stupnice pro osu {\ity}'); polar vytváří graf v polárních souřadnicích Příklad10: pp10.m x=0:0.1:10; y=exp(x)-x.*x+7.*x+2; polar(x,y,'m'); title('\fontname{times new roman ce}polární souřadnice'); plotyy vytváří dva grafy v jednom obrázku s popisem y-ových souřadnic Příklad11: p11.m x=0:0.1:10; y1=exp(x)-x.*x+7.*x+2; x2=0:0.1:10; y2=sqrt(y1); plotyy(x,y1,x2,y2); title('dva grafy s popisem {\ity}-ových os');
3.2.2 Speciální funkce pro kreslení grafů ve 2D Funkce Název grafu Základní syntaxe M-soubor area plošný area(y); area(x,y) area1; area2 bar sloupcový bar(y); bar(x, y) bar1; bar2 barh vodorovný sloupcový barh(y); barh(x,y) barh1; barh2 comet dráhový comet(y); comet(x,y) come1; come2 compass kompasový pro C compass(z); compass(x,y) co1; co2 (šipky z jednoho bodu) errorbar chybový errorbar(x,y,l,u); errorbar(x,y,e) er1; er2 feather peříčkový pro C feather(z); feather(x,y) fea1; fea2 (šipky z ekvid. bodů) fill vyplněný 2-D fill(x,y,c); fil1; fil2 mnohoúhelník fill(x1,y1,c1,x2,y2,c2, ) hist histogram hist(y); hist(y,m); hist(y,x) hist1; hist2 pareto paretický pareto(y,names); pareto(y); par1; par2 pareto(y,x) pie koláčový pie(x); pie(x,explode); pi1; pi2; pi3 pie(x,labels) plotmatrix rozptylový graf matic plotmatrix(x,y); plotmatrix(y) plo1; plo2 rose růžicový rose (theta); rose (theta,n); ros1; ros2 (úhlový histogram) rose (theta,x) scatter rozptylový scatter(x,y,s,c); scatter(x,y); sca1; sca2 stem hůlkový stem(y); stem(x,y) ste1; ste2 stairs schodový stairs(y); stairs(x,y) sta1; sta2 voronoi Voronoi diagram voronoi(x,y) voro1; voro2 quiver graf gradientu quiver(x,y,u,v); quiver(u, v) qui1; qui2 3.2.3 Popis grafu ve 2D Do grafu lze přidat nadpis, popisy os, text nebo zobrazit síť pomocí následujících funkcí: Funkce Popis funkce Syntaxe Příklad plotedit zapíná (vypíná) editaci plotedit on plotedit on grafu plotedit off plotedit off title přidá nadpis do grafu title('text') title('\fontname{times}dráha') (doprostřed nad graf) xlabel přidá popis x-ové osy xlabel('text') xlabel('\fontname{times new (doprostřed pod osu) roman ce}čas {\itt}') ylabel přidá popis y-ové osy ylabel('text') ylabel('vzdálenost {\its}') (doprostřed podél osy) text vloží text text(x,y,'text') text(-0.6,3,'dolní mez') na určenou pozici gtext vloží text gtext('string') gtext('\fontsize{20}\it{\alpha}') na místo vybrané myší legend vloží legendu legend('string') legend('pohyb hmotného bodu') Příklad: popis1.m demonstruje popis grafu, na kliknutí myší vloží α. 15
Ovládání os a objektů Funkce Popis funkce Základní syntaxe axis nastavuje rozsah a vzhled os axis([xmin xmax ymin ymax]); axis on; axis off;axis equal; axis square zoom zvětšuje (zmenšuje) objekty zoom on; zoom off; zoom; zoom out grid zobrazuje (nezobrazuje) mřížku grid on; grid off; grid box přidá (odstraní) rámeček box on; box off; box hold drží (nedrží) aktuální graf hold on; hold off axes otevře osy v zadané pozici (rect = odleva odspodu šířka výška) axes( position, rect) rect = [left, bottom, width, height] subplot vytvoří osy v nových pozicích subplot(m,n,p) rotate otáčení objektem h kolem středu [x,y] o úhel alpha (ve stupních) rotate(h,[x y],alpha) Příklad: ax1.m 16 demonstruje použití výše uvedených příkazů, ovládá se pomocí ENTER. 3.3 Třídimenzionální grafy 3D grafika MATLAB poskytuje velké množství funkcí pro zobrazení 3-D dat ve tvaru čar, ploch nebo síťových (drátových) modelů ploch. Zadání souřadnic MATLAB definuje pomocí z-ových souřadnic síť bodů plochy nad obdélníkovou mříží v rovině xy. Vytváří síť spojením sousedních bodů přímými čarami. Tento způsob zobrazení je vhodný pro grafické znázornění matice, která je v numerickém tvaru příliš velká a nepřehledná, nebo pro grafy funkcí dvou proměnných. Ke znázornění funkce dvou proměnných z = f(x, y) musíme nejprve vytvořit matice X a Y (definiční oblast funkce). Funkce meshgrid transformuje oblast určenou dvěma vektory x a y na matice X a Y, které mohou být použity pro vyhodnocení funkcí dvou proměnných a grafů síťových (drátových) modelů ploch. Řádky matice X jsou kopiemi vektoru x, sloupce matice Y jsou kopiemi vektoru y. meshgrid generuje x-ové a y-nové pole pro třídimenzionální grafy Syntaxe příkazu: [X,Y] = meshgrid (x,y); [X,Y] = meshgrid (x). Příklad: [x,y]=meshgrid( 2:0.1:0,1:0.2:3); [x,y]=meshgrid( 2:0.2:2); 3.3.1 Elementární funkce pro kreslení grafů ve 3D Funkce Popis funkce plot3 kreslí čáry a body v prostoru mesh vytváří síťový (drátový) model plochy ve 3-D meshc navíc kreslí pod síťový model plochy vrstevnice v rovině xy meshz vytvoří síťový (drátový) model plochy s referenční rovinou v místě minimální surf surfc surfl fill3 hodnoty dat; tato rovina je spojena s rovinou z = 0 svislými čarami vytvoří model plochy s barevně vyplněnými ploškami ve 3-D navíc kreslí pod model plochy vrstevnice této plochy v rovině xy vytváří model plochy s barevně vyplněnými ploškami včetně osvětlení vytvoří mnohoúhelník v prostoru a vyplní jej
17 plot3 kreslí lineární graf, lze měnit typ čáry a barvu čáry jako u příkazu plot. Syntaxe příkazu: plot3(x,y,z); plot3 (X,Y,Z); plot3 (x,y,z,s); plot (x1,y1,z1,s1,x2,y2,z2,s2, ), plot3(x,y,z) x je sloupec x-ových souřadnic,y je sloupec y-nových souřadnic a z je sloupec z-tových souřadnic, plot3 (X,Y,Z) X,Y,Z jsou matice téže velikosti, plot3 (x,y,z,s) x,y,z jsou vektory příslušných souřadnic téže délky a s je řetězec 1, 2 nebo 3 znaků, jejichž význam je stejný jako u příkazu plot. Také zde můžeme doplnit na konec seznamu vstupních parametrů požadavek na nastavení větší nebo menší tloušťky čar a větší nebo menší velikosti značky. Příklad1: pl1.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2); plot3(x,y,z,'g '); title('lineární graf'); Příklad2: pl2.m demonstruje použití změny tloušťky čar a u značky změnu barvy hran, změnu barvy výplně i tloušťky hran. Příklad3: pl3.m demonstruje použití různých interpolačních metod na data. mesh síťový (drátový) graf Příklad: m1.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2); mesh(x,y,z); title('\fontname{times new roman ce}síťový graf'); meshc síťový graf s vrstevnicemi v rovině xy Příklad: m2.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2); meshc(x,y,z); title('\fontname{times new roman ce}síťový graf s vrstevnicemi v rovině {\itxy}'); meshz síťový graf nad kvádrem Příklad: m3.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2); meshz(x,y,z); title('\fontname{times new roman ce}síťový graf nad kvádrem'); surf síťový graf s barevně vyplněnými ploškami (ve směru osy z), často kombinovaný s příkazem shading Příklad: m4.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2); surf(x,y,z); title('\fontname{times new roman ce}síťový graf s barevně vyplněnými ploškami'); Příklad: m5.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z = x.*exp(-x.^2-y.^2); surf(x,y,z); shading interp; title('\fontname{times new roman ce}síťový graf s barevně vyplněnými ploškami kombinovaný s příkazem shading');
18 surfc síťový graf s barevně vyplněnými ploškami doplněný o vrstevnice v rovině xy Příklad: m6.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2); surfc(x,y,z); title('\fontname{times new roman ce}síťový graf s barevně vyplněnými ploškami doplněný o vrstevnice v rovině {\itxy}'); surfl osvětlený síťový graf barevně vyplněnými ploškami (ve směru osy y), často kombinovaný s příkazem shading Příklad: m7.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2); surfl(x,y,z); title('\fontname{times new roman ce}osvětlený síťový graf s barevně vyplněnými ploškami'); Příklad: m8.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2); surfl(x,y,z); shading interp; title('\fontname{times new roman ce}osvětlený síťový graf s barevně vyplněnými ploškami kombinovaný s příkazem shading'); pause; s=[10,50]; surfl(x,y,z,s); shading interp; title('\fontname{times new roman ce}tentýž graf doplněný o nastavení zdroje světla'); fill3 vytvoří plošný graf Syntaxe příkazu: fill3(x, y,z, c); fill3 (X1, Y1,Z1, C1, X2, Y2, Z2, C2, ). Význam x, y, z a c je obdobný jako u příkazu plot3. Příklad: fil.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2); fill3 (x,y,z,'b'); title('\fontname{times new roman ce}plošný graf'); m0.m postupně po zadání ENTER zobrazí předchozí typy grafů 3.3.2 Speciální funkce pro kreslení grafů ve 3D Funkce Popis funkce (název grafu) M-soubor contour vytváří rovinné vrstevnice plochy cont1 contourf vykreslení vrstevnic plochy s barevně vyplněnými plochami cont2 mezi jednotlivými vrstevnicemi contour3 vytváří prostorové vrstevnice plochy cont3 clabel přidá popis vrstevnic jejich výškovou hodnotou clab pcolor kreslí pseudobarevné nebo mozaikové grafy, tj. obdélníková pcol pole buněk s barvami určenými prvky matice bar3 sloupcový graf bar4 bar3h vodorovný sloupcový graf barh3 comet3 dráhový graf come3 pie3 prostorový koláčový graf pi4 ribbon kreslí 2-D čáry jako pásky ve 3-D ribb
19 scatter3 rozptylový graf sca3 stem3 hůlkový graf ste3 trisurf triangulární plošný graf tris trimesh triangulární síťový graf trim waterfall prostorový řezový graf, graf ve tvaru vodopádu wat slice kreslí řezy v zadaných rovinách sli quiver3 zobrazí prostorové siločáry qui3 quiver zobrazí siločáry v rovině xy qui4 3.3.3Vizualizace souborů dat Skalární data Funkce Popis funkce M-soubor isosurface izoplošný extraktor dat1 isonormals izoplošné normály dat2 isocaps izoplošný koncový uzávěr dat3 isocolors izoplochy s barevnými ploškami dat4 contourslice vrstevnice v řezných rovinách dat5 Vektorová data Funkce Popis funkce M-soubor streamline proudové čáry z 2D nebo 3D vektorových dat stre1 stream2 2D proudové čáry stre2 stream3 3D proudové čáry stre3 divergence divergence vektorového pole stre4 curl vírová a úhlová rychlost vektorového pole stre5 coneplot 3D kuželový graf stre6 streamtube 3D proudová trubice stre7 streamribbon 3D proudová páska stre8 streamslice proudové čáry v řezných rovinách stre9 streamparticles proudové čáry postupně kreslené na display stre10 interpstreamspeed interpolační proudové čáry ve vrcholech rychlosti stre11 Obslužné programy Funkce Popis funkce M-soubor subvolume extrahuje podmnožinu z rosáhlého souboru dat vol1 reducevolume redukce z rozsáhlého souboru dat vol2 volumebounds vrací x, y, z a barevné mezní hodnoty pro skalární i vektorová data vol3 smooth3 hladká 3-D data vol4 reducepatch redukce počtu vyplněných 2-D polygonů vol5 shrinkfaces redukce velikosti vyplněných 2-D polygonů vol6
3.3.4 Grafické doplňky Řízení barvy Funkce Popis funkce Základní syntaxe colormap vyhledávací tabulka barev colormap(map) caxis změna barevného měřítka caxis(v) shading způsoby barevného stínování shading flat, shading interp, shading faceted hidden řízení viditelnosti čar hidden on, hidden off, hidden brighten zesvětlení nebo ztmavění mapy barev brighten(beta) contrast řízení kontrastu, vrací šedou mapu barev cmap=contrast(x,m) colordef mění barvu pozadí colordef white, colordef black 20 colormap tabulka barev, colormap(map) MATLAB definuje mapu barev ve tvaru matice o třech sloupcích. Každá řádka matice definuje jednotlivou barvu na základě tří hodnot v rozsahu od 0 do 1 (RGB hodnoty). RGB hodnoty mají význam intenzity složek červené(r), zelené(g) a modré(b). Některé typické barvy obsahuje následující tabulka: Červená Zelená Modrá Barva 0 0 0 černá 1 1 1 bílá 1 0 0 červená 0 1 0 zelená 0 0 1 tmavě modrá 1 1 0 žlutá 1 0 1 fialová 0 1 1 bledě modrá 0,5 0,5 0,5 šedá 0,5 0 0 tmavě červená 1 0,62 0,4 měděná 127/255 1 212/255 akvamarinová Příklad: b1.m b0.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z = x.*exp(-x.^2-y.^2); surf(x,y,z);colormap([0,0,0]); title('\fontname{times new roman ce}černá barva');pause;close; demonstruje změnu barvy grafu pomocí colormap Mapy barev nemusí být zadány přímo ve tvaru matice, ale mohou být generovány přímo operacemi MATLABu. Mapy barev Mapa Barvy hsv od červené přes žlutou, zelenou, světle modrou, tmavě modrou, fialovou k červené hot teplotní (černá-červená-žlutá-bílá) gray různé odstíny šedi bone různé odstíny šedomodré copper různé odstíny mědi pink různé odstíny starorůžové (pastelové odstíny růžové) white celá bílá
21 flag lines colorcube vga jet prism cool autumn spring winter summer střídavě červená, bílá, tmavě modrá, černá (vlajka) barevná mapa s barevnými čarami barevná krychle (krok od šedé, čistě červené, zelené a modré) mapa Windows pro 16 barev varianta HSV (žlutá, světle zelená, světle modrá, červená) střídavě červená, oranžová, žlutá, zelená, tmavě modrá, fialová různé odstíny od bleděmodré po fialovou různé odstíny od červené po žlutou různé odstíny od fialové po žlutou různé odstíny od tmavě modré po zelenou různé odstíny od zelené po žlutou Příklad: b2.m b00.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4);z=x.*exp(-x.^2-y.^2); surfl(x,y,z);shading interp;colormap(hsv); title('mapa hsv'); demonstruje změnu barvy grafu pomocí předdefinovaných map barev caxis změna barevného měřítka, caxis(v), caxis( auto ), caxis( manual ) Parametr v je dvouprvkový vektor [cmin cmax], kde cmin je první a cmax je poslední barva v běžné barevné mapě. Parametr auto vrátí původní nastavení a parametr manual podrží nastavení volbou caxis. Využívá se pro objekty vytvořené funkcemi mesh, pcolor a surf. Příklad: cax.m demonstruje použití funkce caxis shading způsoby barevného stínování, shading flat, shading interp, shading faceted shading flat nastavuje odstíny aktuálního grafu na hodnotu flat. Odstín flat je po částech konstantní, každý segment drátové sítě nebo plochy má konstantní barvu určenou hodnotami barev v krajních bodech segmentu nebo v rozích plošky, shading interp nastavuje odstíny aktuálního grafu na hodnotu interp. Interpolované odstíny, které jsou známé jako Gouraudovy odstíny, jsou po částech bilineární, barva každého segmentu nebo plošky se mění lineárně a interpoluje hodnoty na koncích segmentu nebo v rozích plošky, shading faceted nastavuje odstíny aktuálního grafu na hodnotu faceted, což je implicitní hodnota. Odstíny faceted jsou odstíny flat s černou drátovou sítí. Tato volba je často nejpůsobivější, a proto je nastavena jako implicitní hodnota. Příklad: gr1.m demonstruje použítí funkce shading hidden řízení viditelnosti čar grafu typu mesh, hidden on, hidden off, hidden hidden on zapíná odstranění skrytých (neviditelných) čar v aktuálním grafu, takže čáry v zadních ploškách mesh jsou skryty předními ploškami. Tato hodnota je implicitní, hidden off zobrazuje i neviditelné čáry v grafu mesh, hidden přepíná status viditelnosti. Příklad: hid.m demonstruje použítí funkce hidden brighten zesvětlení nebo ztmavění mapy barev, brighten(beta) brighten(beta) nahradí aktuální mapu barev světlejší nebo tmavší mapou, která ale obsahuje tytéž základní barvy. Je-li 0 < beta 1, je mapa světlejší, pro 1 beta < 0 je mapa tmavší, brighten(beta) následováno příkazem brighten ( beta) obnoví původní mapu. Příklad: brig.m demonstruje použití funkce brighten
22 contrast řízení kontrastu, cmap=contrast(x,m) vrací šedou mapu barev, což je matice typu (M,3) se třemi stejnými sloupci, při které příkazy image(x);colormap(cmap) vytvoří objekt image se zhruba vyrovnaným jasovým histogramem. Pokud není M specifikováno, je použita implicitní hodnota, tj.64. Příklad: kontrast.m demonstruje použití funkce contrast colordef mění barvu výchozího nastavení grafického okna, která se projeví po novém otevření okna colordef white mění barvu pozadí na bílou, colordef black mění barvu pozadí na černou a okolí na šedou, colordef none jako Matlab4, pozadí celé černé. Příklad: Zadejte postupně sled následujících příkazů: colordef black;cor;colordef white;cor; colordef none;cor;colordef white;cor Osvětlení Funkce Popis funkce camlight vytváří nebo nastavuje pozici osvětlení lightangle sférické souřadice osvětlení lighting způsoby osvětlení material způsoby materiálové odrazivosti specular zrcadlová odrazivost diffuse rozptýlená (difúzní) odrazivost surfnorm výpočet a zobrazení normál plochy camlight vytváří nebo nastavuje pozici osvětlení, camlight headlight, camlight right, camlight left, camlight(az,el), camlight(az,el, local ), camlight(az,el, infinite ) Příklad: cam1.m demonstruje použití funkce camlight lightangle nastavuje pozici osvětlení pomocí azimutu a elevace, lightangle(az,el), Příklad: tan1.m demonstruje použití funkce lightangle lighting způsoby osvětlení, lighting flat, lighting gouraud, lighting phong, lighting none Příklad: li1.m demonstruje použití funkce lighting material způsoby materiálové odrazivosti, material shiny (lesklé), material dull (matné), material metal (kovové). Dále je možné u této funkce nastavit ambient (okolí), diffuse (difúzi), specular strength (zrcadlovou pevnost), specular exponent (zrcadlový exponent) a specular color reflectance (zrcadlovou barevnou odrazivost) objektu. Syntaxe příkazu je pak material([ka kd ks n sc]), kde ka/kd/ks/n/sc je postupně ambient/diffuse/specular strength, specular exponent and specular color reflectance objektu. Příklad: mater1.m demonstruje použití funkce material specular zrcadlová odrazivost, r = specular(nx,ny,nz,s,v,spread). Odrazivost je ta část světla, která se odráží od plochy směrem k pozorovateli. Odrazivost se mění od 0 (řádný světelný odraz) do 1 (všechno světlo se odráží). Funkce vrací hodnotu koeficientu odrazu zrcadlové plochy plochy s vektorem normály o složkách Nx, Ny, Nz, parametry s a v specifikují zdroj světla a bod pohledu. Parametr s je vektor o třech složkách, které určují směr, ze kterého je plocha osvětlena. Parametr v (délky 3) určuje bod pohledu. Oba vektory mohou mít též délku 2, pak určují azimut a elevaci. Argument spread udává ostrost zrcadlového odrazu. Mění se v rozsahu [ 1, ). Implicitně nastavená hodnota je spread = 10. S rostoucím spread se odlesky na zobrazovaném tělese stávají menší a ostřejší, dokonalé zrcadlo má spread =.. Příklad: specul.m demonstruje použití funkce specular (r = 0.7969)
23 diffuse difúzní odrazivost, r = diffuse(nx,ny,nz,s) Funkce vrací hodnotu koeficientu odrazivosti plochy s vektorem normály o složkách Nx, Ny, Nz, parametr s specifikuje zdroj světla, je to vektor o třech složkách, které určují směr, ze kterého je plocha osvětlena. Příklad: difus.m demonstruje použití funkce diffuse (r = 0.9926) surfnorm výpočet a zobrazení normál plochy ve 3-D surfnorm(z) a surfnorm(x,y,z) zobrazují objekt (plochu) včetně normál, které směřují ven z plochy. Normály těch prvků plochy, které nejsou viditelné z místa pohledu, nejsou zobrazeny. [Nx,Ny,Nz]=surfnorm(X,Y,Z) a [Nx,Ny,Nz]=surfnorm(Z) vrací složky normál plochy ve 3-D pro objekt (plochu) definovanou maticemi X,Y a Z. Normály plochy jsou normalizované na délku 1 a jsou vypočteny v každém vrcholu. Funkce surfnorm je volána funkcí surfl k výpočtu normál plochy. Příklad: suno.m demonstruje použití funkce surfnorm. Výsledné vektory normál první varianty jsou: r = 0 0 0-0.4472-0.4472-0.4472 0.8944 0.8944 0.8944 0 0 0-0.8321-0.8321-0.8321 0.5547 0.5547 0.5547 0 0 0-0.9285-0.9285-0.9285 0.3714 0.3714 0.3714 Výsledné vektory normál druhé varianty jsou: r = -0.7584-0.5925-0.3579 0.0668-0.7922-0.4815-0.6484 0.1465 0.8000 0.4924-0.5657 0.5592-0.1231 0.7071-0.8078 0.8616-0.4243 0.1864 0.3071 0.0927 0.3654-0.8774 0.9950 0.8984 0.3685 0.0371 0.2436 Transparent alpha řízení průhlednosti, alpha( x ), alpha( y ), alpha( z ), alpha( color ), alpha( rand ), atd. Příklad: tra.m demonstruje použití funkce alpha Řízení os axis nastavuje rozsah a vzhled os, axis([xmin xmax ymin ymax]); axis on; axis off; axis equal; axis square; axis normal Příklad: ax2.m demonstruje použití funkce axis ve 3D Ovládání objektů Funkce Popis funkce Základní syntaxe zoom zvětšuje (zmenšuje) objekty zoom on; zoom off; zoom; zoom out grid zobrazuje (nezobrazuje) mřížku grid on; grid off; grid box přidá (odstraní) rámeček box on; box off; box hold drží (nedrží) aktuální graf hold on; hold off axes otevře osy v zadané pozici (rect = odleva odspodu šířka výška) axes( position, rect) rect = [left, bottom, width, height] subplot vytvoří osy v nových pozicích subplot(m,n,p) daspect informace o poměru stran a jejich dar = daspect, řízení pbaspect informace o velikosti rámečku poměru stran a jeho řízení daspect([x y z]) pbar = pbaspect, pbaspect([x y z])
24 xlim ylim zlim rotate vrací minimální a maximální hodnotu osy x a nastavuje ji vrací minimální a maximální hodnotu osy y a nastavuje ji vrací minimální a maximální hodnotu osy z a nastavuje ji otáčení objektem h kolem středu [x,y] o úhel alpha (ve stupních) xl=xlim, xlim([xmin xmax]) yl=ylim, ylim([xmin xmax]) zl=zlim, zlim([xmin xmax]) rotate(h,[x y],alpha) Příklad: ax3.m Demonstruje použití předchozích příkazů Výsledné hodnoty: dar = 8 8 1, pbar = 1 1 1, xl = -5 5, yl = -5 5, zl = -0.5000 0.5000 Řízení bodu pohledu view definuje bod pohledu na graf v prostoru, view(az,el). MATLAB dovoluje určit bod pohledu na graf. Obecně je pohled definován transformační maticí čtvrtého řádu, kterou MATLAB používá k transformaci třírozměrného grafu na dvourozměrnou obrazovku. Hodnota az je azimut, nebo-li horizontální rotace, a hodnota el je vertikální elevace (obě hodnoty jsou zadávány ve stupních). Azimut se otáčí kolem osy z s kladnými hodnotami ve směru proti pohybu hodinových ručiček. Kladné hodnoty elevace odpovídají pohledu shora; záporné hodnoty pohledu zdola. Příklad: pohled.m demonstruje použití funkce view Řízení kamery Funkce Popis funkce Základní syntaxe M-soubor campos vrací umístění kamery a řídí jej cp=campos; campos([x y z]) kam1 camtarget vrací cíl kamery a řídí jej ct=camtarget; camtarget([x y z]) kam2 camva vrací úhel pohledu kamery a řídí jej cva=camva; camva(val) kam3 camup vrací horní vektor kamery a řídí jej up=camup;camup([x y z]) kam4 camproj vrací projekci kamery a řídí ji proj= camproj; camproj(projection) kam5 camorbit dráha (rotace) kamery camorbit(dtheta,dphi) kam6 campan záběr kamery campan(dtheta,dphi) kam7 camdolly specifikace umístění a cíle kamery camdolly(dx,dy,dz) kam8 camzoom ovládání lupy kamery camzoom(zf); kam9 camroll rolování kamery camroll(dtheta) kam10 camlookat přesun kamery a cíle pohledu do camlookat(h) kam11 specifikovaného objektu cameratoolbar interaktivní manipulace s kamerou cameratoolbar kam12 Výsledné hodnoty jsou: cp = -36.5257-47.6012 4.3301, ct = 0 0 0, cva = 10.3396, up = 0 0 1, proj = orthographic.
25 3.3.5 Popis grafu ve 3D Do grafu lze přidat nadpis, popisy os, text nebo zobrazit síť pomocí následujících funkcí: Funkce Popis funkce Syntaxe Příklad title přidá nadpis do grafu title('text') title('graf funkce (doprostřed nad graf) {\itf(x,y,z)}') xlabel přidá popis x-ové osy xlabel('text') xlabel('osa {\itx}') (doprostřed pod osu) ylabel přidá popis y-ové osy ylabel('text') ylabel('osa {\ity}') (doprostřed podél osy) zlabel přidá popis z-ové osy zlabel('text') zlabel('osa {\itz}') (doprostřed vlevo od osy, text je otočený o 90 ) colorbar zobrazení barevného colorbar('vert') colorbar('vert') měřítka colorbar('horiz') colorbar('horiz') text vloží text na určenou pozici text(x,y,'text') text(4,7,'vrchol') Příklad: popis2.m demonstruje použití předchozích příkazů 3.3.6 Modelování geometrických těles cylinder vykreslí válcovou plochu sphere vykreslí kulovou plochu ellipsoid vykreslí elipsoid c1.m, c2.m c3.m, c4.m c5.m, c6.m patch přikreslí vyplněný 2-D polygon definovaný vektory x a y Příklad: pa1.m x=-6:0.2:5;y=x.*x;plot(x,y,'m'); patch([-4:0.1:2],[kv3(-4:0.1:2)],'g');axis([-6 4-1 17]); title('\fontname{times new roman ce}přikreslený vyplněný polygon v rovině'); Příklad: pa2.m [x,y]=meshgrid(-4:0.2:4,-4:0.2:4); z=x.*exp(-x.^2-y.^2);mesh(x,y,z); patch([1,3,5],[2,4,-2],[1,-3,4],[1,0,1]);hidden off; title('\fontname{times new roman ce}přikreslený vyplněný polygon v prostoru'); surf2patch konvertuje geometrická a barevná data prostorové plochy na data formátu vyplněného 2-D polygonu (surpa.m)
26 3.4 Znázornění kvadratických ploch Kulová plocha: Středová rovnice kulové plochy (střed je v počátku): 2 2 2 2 r z y x = + + Zobrazení: koule.m Elipsoid (trojosý, rotační, protáhlý, zploštělý): Středová rovnice trojosého elipsoidu (střed je v počátku): 1 2 2 2 2 2 2 = + + c z b y a x Zobrazení zploštělého elipsoidu: elipsoi1.m Zobrazení protáhlého elipsoidu: elipsoi2.m Kuželová plocha: Vrcholová rovnice kuželové plochy(vrchol je v počátku): 0 2 2 2 2 2 2 = + c z b y a x Zobrazení kuželové plochy: kuzel.m Hyperboloid dvojdílný: Středová rovnice dvojdílného hyperboloidu: 0 1 2 2 2 2 2 2 = + + c z b y a x Zobrazení dvojdílného hyperboloidu: hyperd.m Hyperboloid jednodílný: Středová rovnice jednodílného hyperboloidu: 1 2 2 2 2 2 2 = + c z b y a x Vlastnosti: Jednodílný hyperboloid je také plocha přímková. Povrchové přímky jednodílného hyperboloidu: + = + b y c z a x 1 χ = b y c z a x 1 1 χ = + b y c z a x 1 λ + = b y c z a x 1 1 λ 0, 0 λ χ První dvě rovnice patří přímkám jednoho regulu a druhé dvě rovnice přímkám druhého regulu. Jednodílný hyperboloid je jednoznačně určen třemi mimoběžkami, které nejsou rovnoběžné s touž rovinou. Parametrické vyjádření přímek prvního a druhého regulu, jestliže a = b = c = 1je: ( ) ( )t z t y t x 1 2 1 2 0 1 2 1 2 2 2 2 χ χ χ χ χ χ χ + + = + = + + = ( ) ( )t z t y t x 1 2 1 2 0 1 2 1 2 2 2 2 λ λ λ λ λ λ λ + = + = + + = t R Zobrazení jednodílného hyperboloidu s povrchovými přímkami: hyperj1.m Zobrazení jednodílného hyperboloidu jako přímkové plochy: hyperj2.m
27 Eliptický paraboloid: 2 2 x y Středová rovnice eliptického paraboloidu: + 2z = 0 2 2 a b Vlastnosti: Eliptický paraboloid je také translační plocha, která vzniká posouváním paraboly po parabole. Zobrazení eliptického paraboloidu: parabe.m Hyperbolický paraboloid: 2 2 x y Středová rovnice hyperbolického paraboloidu: 2z = 0 2 2 a b Vlastnosti: Hyperbolický paraboloid je také translační plocha, která vzniká posouváním paraboly po parabole. Navíc je to také plocha přímková. Je jednoznačně určen buď třemi mimoběžkami, které jsou rovnoběžné s jednou rovinou, nebo dvěma mimoběžkami a řídící rovinou s nimi různoběžnou, nebo tzv. zborceným čtyřúhelníkem. x y x y 1 Povrchové přímky hyperbolického paraboloidu: + = χ = 2z a b a b χ x y x y 1 = λ + = 2 z a b a b λ První dvě rovnice patří přímkám jednoho regulu a druhé dvě rovnice přímkám druhého regulu. x y Rovina prvního regulu: + = 0 a b x y Rovina druhého regulu: = 0 χ 0, λ 0 a b Parametrické vyjádření přímek prvního a druhého regulu, jestliže a = 3 a b =2: 3 x = t 3 x = t χ λ 2 2 y = 2χ t y = 2λ + t t R χ λ 2 2 χ λ z = + t z = + t 2 2 Zobrazení hyperbolického paraboloidu jako interpolační plochy: parabh1.m Zobrazení hyperbolického paraboloidu jako translační plochy s vrstevnicemi: parabh2.m Zobrazení hyperbolického paraboloidu jako přímkové plochy: parabh3.m Válcová plocha (eliptická, hyperbolická, parabolická): 2 2 x y Středová rovnice eliptické válcové plochy kolmé k rovině xy: + = 1 2 b 2 a Zobrazení eliptické válcové plochy: valece.m 2 2 x y Středová rovnice hyperbolické válcové plochy kolmé k rovině xy: = 1 2 2. a b Zobrazení hyperbolické válcové plochy: valech.m Vrcholová rovnice parabolické válcové plochy kolmé k rovině xy: y 2 = 2 px. Zobrazení parabolické válcové plochy: valecp.m
28 3.5 Znázornění rovinných a prostorových oblastí Příklad 1: Znázorněte následující oblast y 2 2x, x + y 2, x + y 4. Řešení: obl1.m (kv1.m, kv2.m) 2 Příklad 2: Znázorněte následující oblast y 2x, x + y 4, x + y 12. Řešení: obl2.m (kv1.m, kv2.m) 2 2 Příklad 3: Znázorněte následující oblast x + y 9, x y, x 1. Řešení: obl3.m (fce1.m) 2 2 Příklad 4: Znázorněte následující oblast x + y 4x 6y 12 0, x + 2y 1 2, y + x 2 4. Řešení: obl4.m (fce2.m, fce3.m) Příklad 5: Znázorněte následující oblast x 2 + 4y 2 10x + 8y + 13 0, x y 1, y 4 x. Řešení: obl5.m (fce4.m, fce5.m) 2 2 Příklad 6: Znázorněte následující oblast 9x 4y 36x 24y 1 0, 2 x 4, y 4. Řešení: obl6.m (fce6.m, fce7.m) Příklad 7: Znázorněte následující oblast 4y 2 96x + 4y + 49 0, x + y 5 0. Řešení: obl7.m (fce8.m, fce9.m) Příklad 8: Znázorněte následující oblast 2 x 2, 3 y 2, 2 z 5. Řešení: obl8.m Příklad 9: Znázorněte oblast ohraničenou těmito plochami x + y + z = 1, y = 0, x = 0, z = 0. Řešení: obl9.m 2 2 Příklad 10: Znázorněte následující oblast x + y 9, - 2 z 5. Řešení: obl10.m Příklad 11: Znázorněte oblast ohraničenou těmito plochami z = xy, y = x, x = 1, z = 0. Řešení: obl11.m 3 3 Příklad 12: Znázorněte graf funkce z = x 3xy + y, jestliže 3 x 3, 3 y 3. Řešení: obl12.m
29 4. Dodatky 4.1 Užitečné klávesové zkratky: Znak Název znaku Klávesová zkratka Kód \ né lomítko pravé Alt + q levé Alt + 092 levé Alt + 92 @ zavináč pravé Alt + v levé Alt + 064 levé Alt + 64 ~ velká tilda pravé Alt + 1 levé Alt + 0126 levé Alt +126 ^ stříška pravé Alt + 3 levé Alt + 094 levé Alt + 94 [ levá hranatá závorka pravé Alt + f levé Alt + 091 levé Alt + 91 ] pravá hranatá závorka pravé Alt + g levé Alt + 093 levé Alt + 93 { levá složená závorka pravé Alt + b levé Alt + 0123 levé Alt +123 } levá složená závorka pravé Alt + n levé Alt + 0125 levé Alt +125 < menší než pravé Alt + < levé Alt + 060 levé Alt + 60 > větší než pravé Alt + > levé Alt + 062 levé Alt + 62 4.2 Užitečné příkazy Příkaz Význam path nastaví vyhledávací cestu, například do jiného pracovního adresáře clear vymaže z paměti všechny proměnné a funkce close zavře grafické okno pause pozastaví probíhající proces, nejčastěji M-soubor 4.3 Derivace a integrace v symbolice Funkce Název funkce Příkaz MATLABU diff(f) 2 f=sym('a*x^2+b*x+c'); Derivace funkce f = ax + bx + c diff(f) int(f) f=sym('sin(2*x)'); Primitivní funkce sin 2x dx int(f) π int(f,a,b) Určitý integrál 2 0 sin 2x dx f=sym('sin(2*x)'); int(f,0,pi/2) 2*a*x+b Výstup MATLABU -1/2*cos(2*x) 1
minimum.m 30
nulove.m 31
integral.m 32
p1.m 33
p2.m 34
p3.m 35
p4.m 36
p0.m 37
p00.m 38
p000.m 39
p5.m 40
p6.m 41
p7.m 42
p8.m 43
p9.m 44
pp10.m 45
p11.m 46
area1.m 47
area2.m 48
bar1.m 49
bar2.m 50
barh1.m 51
barh2.m 52
come1.m 53
come2.m 54
co1.m 55
co2.m 56
er1.m 57
er2.m 58
fea1.m 59
fea2.m 60
fil1.m 61
fil2.m 62
hist1.m 63
hist2.m 64
par1.m 65
par2.m 66
pi1.m 67
pi2.m 68
pi3.m 69
plo1.m 70
plo2.m 71
ros1.m 72
ros2.m 73
sca1.m 74
sca2.m 75
ste1.m 76
ste2.m 77
sta1.m 78
sta2.m 79
voro1.m 80
voro2.m 81
qui1.m 82
qui2.m 83
popis1.m 84
ax1.m 85
86
87
88
89
90
91
92
93
pl1.m 94
pl2.m 95
pl3.m 96
m1.m 97
m2.m 98
m3.m 99
m4.m 100
m5.m 101
m6.m 102
m7.m 103
m8.m 104
fil.m 105
m0.m 106
107
108
109
110
111
112
cont1.m 113
cont2.m 114
cont3.m 115
clab.m 116
pcol.m 117
bar4.m 118
barh3.m 119
come3.m 120
pi4.m 121
122
ribb.m 123
sca3.m 124
ste3.m 125
tris.m 126
trim.m 127
wat.m 128
sli.m 129
130
131
132
qui3.m 133
qui4.m 134
dat1.m 135
dat2.m 136
dat3.m 137
dat4.m 138
dat5.m 139
stre1.m 140
stre2.m 141
stre3.m 142
stre4.m 143
stre5.m 144
stre6.m 145
stre7.m 146
stre8.m 147
stre9.m 148
stre10.m 149
stre11.m 150
vol1.m 151
vol2.m 152
vol3.m 153
154 vol4.m
vol5.m 155
vol6.m 156
b1.m 157
b0.m 158
159
160
161
162
163
b2.m 164
b00.m 165
166
167
168
169
170
171
172
173
cax.m 174
175
176
gr1.m 177
178
hid.m 179
180
brig.m 181
182
kontrast.m 183
cam1.m 184
185
186
187
tan1.m 188
li1.m 189
190
191
mater1.m 192
193
194
specul.m 195
difus.m 196
suno.m 197
198
tra.m 199
200
201
ax2.m 202
203
204
205
ax3.m 206
207
208
209
210
211
212
213
214
215
216
pohled.m 217
218
kam1.m 219
kam2.m 220
kam3.m 221
kam4.m 222
kam5.m 223
kam6.m 224
kam7.m 225
kam8.m 226
kam9.m 227
228
kam10.m 229
kam11.m 230
kam12.m 231
232
popis2.m 233
234
c1.m 235
c2.m 236
c3.m 237
c4.m 238
c5.m 239
c6.m 240
pa1.m 241
pa2.m 242
surpa.m 243
koule.m 244
245
elipsoi1.m 246
247
elipsoi2.m 248
249
kuzel.m 250
hyperd.m 251
hyperj1.m 252
253
hyperj2.m 254
parabe.m 255
256
parabh1.m 257
parabh2.m 258