200 likes | 301 Views
Aplikační počítačové prostředky X15APP MATLAB cvičení 1. Ing. Zbyněk Brettschneider http://heat.feld.cvut.cz/ http://k315.feld.cvut.cz/download/ http://k315.feld.cvut.cz/vyuka/matlab/ brettsz @fel.cvut.cz - v předmětu emailu „APP ”.
E N D
Aplikační počítačové prostředkyX15APPMATLAB cvičení 1 Ing. Zbyněk Brettschneider http://heat.feld.cvut.cz/ http://k315.feld.cvut.cz/download/ http://k315.feld.cvut.cz/vyuka/matlab/ brettsz@fel.cvut.cz - v předmětu emailu „APP” Katedra elektroenergetiky, Fakulta elektrotechniky ČVUT, Technická 2, 166 27 Praha 6
Literatura Mathworks Inc.: MATLAB R13 HELP, Mathworks Inc., 2002 Dušek F.: Matlab a Simulink úvod do používání, Univerzita Pardubice, Bratislava, 2000, ISBN 80-7194-273-1. Hanselman D., Littlefield B.: Mastering MATLAB 6, Prentice-Hall , 2001, ISBN 0-13-019468-9. Kozák Š., Kajan S.: Matlab – Simulink I učebnice zaměřená na hlavní modul Matlab, STU v Bratislavě, Bratislava, 1999, ISBN 80-227-1213-2. Palm W. J. III: Introduction To Matlab 6 For Engineers, McGraw-Hill, 2001, ISBN 0-07-234983-2. Prskavec L.: UPE – Matlab, učební text, ČVUT FEL, Praha, 2003, http://k315.feld.cvut.cz/download/upe/2003_03_upe_matlab.pdf
Matlab • Vysoce výkonný jazyk pro technické výpočty • Integruje výpočty,vizualizaci programování do jednoduše použitelného prostředí • Základním datovým typem je dvou rozměrné pole • Řešení technických problémů které vedou na vektorovou či maticovou formulaci • Typické oblasti použití Matlabu • Inženýrské výpočty • Vývoj algoritmů • Modelování, simulace a vývoj prototypů • Analýza dat a jejich vizualizace • Vývoj aplikací včetně tvory GUI • Standardní součástí není podpora symbolických výpočtů
Command window, proměnné • ENTER – provedení operace • ans je vnitřní proměnná Matlabu = answer • ;ukončený příkaz -bez výpisu výsledku do příkazového okna • Ctrl+C zastavení vykonávaného příkazu • Proměnné Matlabu • Komplexní matice • Řetězec znaků • Proměnné není třeba deklarovat • Příkazy: • who …vypíše seznam proměnných • whos ..seznam proměnných s podrobnostmi
Jednoduchá matematika Mezi další základní funkce patří také clc (vymaže okno příkazů) nebo clear (vymaže zadefinované proměnné).
Funkce • Hlavní síla Matlabu ve funkcích • Provádějí složitější činnost, která jeden nebo více vstupních parametrů zpracuje do jednoho nebo více výstupních parametrů podle daného algoritmu • Typy funkcí • built-in funkce…součástí jádra Matlabu • m.funkce …uložené v m.filech • Mohou být vytvářeny uživatelem a pro práci musí být uloženy v aktuálním adresáři • Nutnost pro práci s funkcemi vědět: • Jak se jmenuje potřebná funkce • Počet a význam vstupních parametrů • Počet a význam výstupních parametrů • Pro tyto informace použít help • help specfun; lookfor sin • Syntaxe volání funkce: [prom1,prom2,...]=nazev_funkce(prom1,prom2,…)
Funkce • Základní funkce • help elfun…elementární funkce • help specfun…speciální funkce • help matfun…maticové funkce • Syntaxe volání funkce: [prom1,prom2,...]=nazev_funkce(prom1,prom2,…)
Vektory a matice • Vektor • x=1:10:1000 • linspace(od,do,pocet) • logspace(od 10^i, do 10^j, pocet) • length(x) ... zjištění délky vektoru • Matice , odděluje sloupce matice ; odděluje řádky matice ‘ transpozice • size(A) ... zjistí počet řádků a sloupců
Matice V matlabu: A=[1 2 3 4; 4 5 6 7; 7 8 9 10] A=[1,2,3,4; 4,5,6,7; 7,8,9,10] nebo A=[1:4;4:7;7:10] Vytvoříme matici A:
Modifikace matic A(2,3)=55 % jmeno_matice(radek, sloupec) % vysledek: A = 1 2 3 4 4 5 55 7 7 8 9 10
Modifikace matic 2 A(2,:) ans = 4 5 55 7 Speciální druhy matic přímo v Matlabu: zeros(3) , ones(4,3), eye(3,3), magic, rand, triu, tril, diag
Operace s maticemi • Násobení matic • není asociativní • při násobení musí odpovídat počet řádků první matice počtu sloupců druhé matice • Jeli A(m x n) a B(n x k) pak A*B = C, kde C (m x k) • A.*B násobení matic prvek po prvku, A musí mít stejnou velikost jako B • Inverze matice • inv(A) …pouze u regulárních matic • Determinant matice • det (A) • Mocnina matice • A^2… mocnina matice A*A • A.^2 ... mocnina prvků matice A.*A
Operace s maticemi 2 det - determinant matice inv - inverze matice ’ - operátor transpozice (apostrof) .’ - transpozice prvek po prvku (sdružená transpozice, rozdílná od transpozicevkomplexních číslech) sqrtm - maticová odmocnina expm - maticová exponenciála logm - logaritmus matice poly - charakteristický polynom size - rozměry matice roots - vlastní čísla charakteristického polynomu max - maximální prvek matice diag - diagonála matice
Práce s polynomy a interpolace • Vektorová reprezentace polynomů • p(x)=4x^3 + 5x + 1, interpretace Matlabu p=[4 0 5 1] • polyval (p,x) ... vyčíslení polynomu pro všechny x • conv(p,q) … násobení polynomu • roots(p) … nalezení kořenů polynomu • polyfit(x,y,r) … proložení hodnot y polynomem řádu r • Polynomální aproximace není vhodná pro průběhy s ostrými zlomy • Interpolace • y1=interp1(x,y,x1,’metoda’)
Vizualizace • plot(x,y) vykreslení dvourozměrného grafu, závislost y na x • délka x a y musí být stejná • help plot • subplot (m,n,i) rozdělení obrazovky pro vykreslení grafů na mxn polí, umístění následujícího grafu (příkaz plot) do pole i • title (‘text’) nadpis grafu • xlabel (‘text’),ylabel (‘text’) popis os • grid on aktivace mřížky • axis rozsah os • plot3 (x,y,z)vykreslení 3D grafů
Manipulace se soubory Základní typy souborů v Matlabu jsou: *.m skripty (m-file), *.mdl modely v Simulinku, *.mat soubory kde jsou uloženy hodnoty proměnných