390 likes | 655 Views
UI a TD N ázov prednášky: MATLAB Ing. Vladimír Goga. MatLab = Matrix Laboratory. MatLab vychá dza z filozofie: všetko je matica . Ak má len jeden riadok, alebo jeden stĺpec, hovoríme o vektore , ak má práve jeden riadok a jeden stĺpec hovoríme o skalári. Štruktúra MatLabu.
E N D
UI a TD Názov prednášky: MATLAB Ing. Vladimír Goga
MatLab = Matrix Laboratory MatLab vychádza z filozofie: všetko je matica. Ak má len jeden riadok, alebo jeden stĺpec, hovoríme o vektore, ak má práve jeden riadok a jeden stĺpec hovoríme oskalári.
Štruktúra MatLabu • MatLab je programovací jazyk a integrované • prostredie. MatLab v sebe integruje : • matematické výpočty; • vývoj algoritmov; • modelovanie a simulácie; • analýzu údajov a vizualizáciu; • vedecké a inžinierske grafy; • vývoj aplikácií a programovanie;
Základné komponenty MatLabu MatLab je systém aplikácií (programový balík) pozostávajúci z nasledovných častí: • MatLab–je to základ pre všetky ostatné časti. Pozostáva z piatich častí: • Programovací jazyk -pracuje s maticami/poliami • Pracovné prostredie - nástroje na vývoj, spracovanie, odladenie aplikácií, prácu s premennými, import a export dát • Grafika - príkazy na tvorbu 2D a 3D vizualizáciu dát, spracovanie obrazu, animácie a prezentáčnú grafiku, budovanie grafického užívateľského rozhrania pre rôzne aplikácie • Knižnica matematických funkcií - zbierka výpočtových algoritmov od základných funkcií (sínus, kosínus, ...) až po zložité algoritmy (výpočet Besselových funkcií, inverzie matíc, rýchlej Fourierovej transformácie, ...) • Application Program Interface (API) - knižnice pre tvorbu programov v jazyku C a Fortran (volanie rutín – dynamické linkovanie, volanie MatLabu ako výpočtového jadra, čítanie a zápis dát, ...)
Základné komponenty MatLabu Rozšírenie MatLabu - nástroj na podporu implementácie systémov vyvinutých v MatLabe (kompilátor, C/C++ matematické knižnice, webovský server, generátor správ, ...) Toolboxy - knižnice špeciálnych funkcií MatLabu na riešenie špeciálnych problémov, napr.: riadenie, databázy, financie, identifikácia systémov, fuzzy logika, spracovanie obrazu, neurónové siete, optimalizácia, spracovanie signálov, štatistika, symbolická matematika, ... 4. Simulink - grafický interaktívny program na simuláciu lineárnych a nelineárnych dynamických systémov, modelovanie systémov pomocou grafických blokových schém Blocksets - kolekcia blokov pre Simulink pre špeciálne aplikácie (návrh nelineárneho riadenia a pod.)
Spustenie MatLabu • Ikonou z plochy • Z ponuky (Windows): • START – PROGMAMY – • MATLAB 6.5 – • MATLAB 6.5
Sprievodca pracovnou plochou • Command Window – príkazové okno pre zadávanie príkazov v jazyku MatLab • Workspace – zobrazuje obsah pamäte; je možné jednotlivé premenné editovať • Command History –zobrazí, všetky skôr zadané príkazy a povely z hlavného okna • Current Directory – prehľad súborov v aktuálnom adresári • Launch Pad – rýchly prístup k hlavným častiam MatLabu • Help - zobrazí nápovedu
Premenné • Premenná je objekt, ktorá má názov, typ a hodnotu • Názov: • môže obsahovať až 31 znakov, • môže obsahovať písmená anglickej abecedy (a-z, A-Z) a podčiarkovník (_), • nesmie začínať číslom, • pozor na veľké a malé písmená. • Typ a hodnota: • každá premenná je matica, podľa rozmeru: • matica (n x n) • vektor (1 x n, n x 1) • skalár (1 x 1) • Konštanty: • i, j - imaginárna jednotka • inf - nekonečno • NaN – neurčitý výraz
Vytvorenie premennej • Bez názvu, zadanie iba výrazom: • S názvom: >>názov premennej = výraz
Zobrazenie výsledku • Spôsob zobrazenia výsledku:
Workspace a Command History • Workspace • Zoznam (pamäť) premenných, možno ich editovať • Command History • História príkazov a povelov z hlavného okna (Command Window)
Matice (vektory) • Zadávanie matíc: • Vymenovaním prvkov: • prvky v riadku sú oddelené čiarkou alebo medzerou, • stĺpce sú oddelené bodkočiarkou, • všetky prvky sú v hranatých zátvorkách.
Matice (vektory) • 2. Generovanie matíc pomocou operátorov matlabovských funkcií: • vytvorenie riadkového vektora:
Zopár príkazov • ; • potlačenie výpisu výsledku, umiestnenie na konci výrazu • who • zoznam premenných • whos • Zoznam premenných v long formáte • clear • vymazanie premenných z pamäte • clc • vymazanie príkazového okna (Command Window)
Elementárne matice • Matica núl: • >>zeros() • Matica jednotiek • >>ones() • Diagonálna jednotková matica • >>eye()
Elementárne matice • Matica s príslušným vektorom na diagonále: • >>diag([1,2,3,,4,5]) • Matica náhodných čísel z intervalu [0,1] • >>rand() • Matica náhodných čísel • >>randn()
Indexovanie matíc • Matica B=[1 0 9 4 3;0 8 4 2 7;14 90 0 48 25] • výber 2. riadku matice B: • výber 3. stĺpca matice B: • výber 1. a 2. riadku matice B: • matica F tvorená prvkami matice B:
Operácie s maticami • klasické maticové operácie • Sčitovanie (+), odčitovanie (-) >> A + B • Násobenie (*), delenie (/, \) >> A * B >> A / B, A \ B • Umocňovanie (^) >> A ^ b– aspoň jeden z operandov musí byť skalár • Transpozícia (‘) >>A’ , (A’)’ 5. Inverzná matica >>inv (A)
Operácie s maticami • operácie prvok po prvku
Operácie s maticami • násobenie: * • násobenie po prvkoch: .*
Operácie s maticami A=[1 2 3;4 5 6; 7 8 9]
Riešenie sústav rovníc Ax = b riešenie: x = b / A A – matica konštánt [m x n] x – vektor neznámych [1 x n] b – vektor pravej strany [1 x n] x1 + x2 + x3 = 1 x1 + 2 x2 + 3 x3 = 3 x1 + 3 x2 + 6 x3 = -1
Help • Pomocou menu Help • V príkazovom okne: >>help výraz
2D grafy • Zadanieúdajov: • Funkcia kreslenia 2D grafov:>>plot(x,y) • Otvorí sa grafické okno s grafom • Nové grafické okno sa otvorí príkazom>>figure
Popisovanie grafov • Popis osí: • >>xlabel('x') • >>ylabel('y1, y2') • Názov grafu: • >>title('Graf funkcie sinus a kosinus') • Legenda: • >> legend('y1=sin(x)'‚'y2=cos(x)') • Zapnutie a vypnutie mriežky: • >> grid on • >> grid off • Nastavenie osí • >> axis([XMIN XMAX YMIN YMAX]) • >> axis([0 2*pi -1 1])
Rôzne grafy v jednom okne • Rozloženie grafov v okne: • >>subplot( , , ) • Zchodový graf: • >>stairs(x,y) • Stĺpcový graf: • >> bar(x,y) • Výsečový graf:
3D grafy • x(t)=et/20 cos(t) • y(t)=et/20 sin(t) • z(t)=t
3D grafy • f(x,y)=sin{(x2+y2)1/2}
Symbolický toolbox Pri práci so symbolickou matematikou je treba zadefinovať, ktoré písmená sú premenné (nie sú definované číselnou hodnotou), príkazom: >>syms Príklad riešenia kvadratickej rovnice: (riešenie rovnice f(x):>>x=solve('f(x)=0') Príklad riešenia rovníc f(u,v)=0 a g(u,v)=1:
Symbolický toolbox Riešenie sústavy rovníc: 2 x1 + 5 x2 + 3 x3 = 1 x1 + 10 x2 = 9 x1 + x2 + x3 = 0 Zjednodušovanie výrazov: >>simple(výraz)
Symbolický toolbox Limita funkcie:>>limit(F,x,a) Derivácia funkcie: >>diff('f(x)','x')
Symbolický toolbox Integrál funkcie:>>int('f(x)','x',xmin,xmax)
Vykresľovanie grafických závislostí >>ezplot(f) >>ezplot(f,[a,b]) >>ezplot(f,[xmin,xmax,ymin,ymin])
Vytvorenie skriptu • Nastavenie pracovného adresára. • Vytvorenie nového alebo otvorenie existujúceho skriptu. Skript sa zapisuje do M-súboru. M-súbor sa otvorí pomocou menu File » New » M-file. Pokiaľ je potrebné opraviť už existujúci skript, musíme ho otvoriť pomocou menu File » Open.
Vytvorenie skriptu 3. Zápis skriptu. Do prázdneho M-súboru sa zapisujú všetky príkazy, ktoré má skript vykonať - príkazy sa píšu rovnako ako v Command Window, iba s tým rozdielom, že sa po napísaní nevykonávajú. Takto sa vytvára kód skriptu (postupnosť príkazov).
Vytvorenie skriptu 4. Uloženie skriptu Ak je napísaný kód skriptu, musí sa celý M-súbor uložiť pod nejakým menom na disk (do pracovného adresára). Uloženie sa vykonáva pomocou menu File » Save. Meno skriptu musí spĺňať rovnaké pravidlá ako názov premennej. Meno M-súboru so skriptom teda môže obsahovať iba písmená anglickej abecedy, podčiarkovník a čísla (číslom nesmie začínať). 5. Spustenie skriptu Spustenie skriptu dáva MatLabu pokyn k vykonaniu jeho príkazov. Pred spustením musí byť skript uložený! Skript môže byť spustený buď: v Command Window - stačí zadať meno M-súboru bez prípony, alebo v M-editore/Debuggeri pomocou menu Debug » Run (klávesa F5).