Počítačové modelování dynamických soustav 1. cvičení (úvod) katedra elektrotechniky a automatizace Miloslav LINDA
Co je MATLAB! - integrované prostředí pro vědeckotechnické výpočty; - obsahuje grafické a výpočetní nástroje; - intuitivní rozhraní Matlab Desktop; - programovací jazyk 4 generace, - více než 1000 funkcí, - objektově orientované programování; - tvorba grafických uživatelských rozhraní (GUI); - možnost tvorby spustitelných programů, bez nutnosti plné instalace MATLABu.
Oblasti využití systému MATLAB - tradiční - letectví, kosmonautika; - automobilový průmysl; - automatizace a strojnictví; - komunikace, elektronika, polovodiče; - nově vznikající - finance, ekonomika; - energetika; - přírodní vědy.
Oblasti využití systému MATLAB - oblasti použití se neustále rozšiřují, tak jak se rozšiřují možnosti MATLABu; - v MATLABu je možné si tvořit vlastní knihovny, scripty, funkce, aplikační prostředí. - tímto je možné ho použít na cokoli, od aplikací pro zpracování obrazu, přes finance až po simulace pro letecký průmysl.
Tok informací a dat vstupy - data aplikací, excelovské tabulky, exportovaná data; - vstupem může být cokoli, co má maticovou strukturu dat. řešení - řešení v prostředí Matlab, scripty, GUI aplikace. výstup - export do souborů, výstup do speciálních uživatelských systémů, maticový výstup.
použití + přednosti - matematika a výpočty; - vývoj algoritmů, scripty, vlastní funkce; - modelování a simulace; - vývoj aplikací včetně grafického rozhraní (GUI) + přenos dat mezi GUI a funkcemi či scripty; - možnost rozšiřování o vlastní funkce; - toolboxy - orientované balíky hotových funkcí, - modulární.
Matlab - prostředí Workspace Command Window Command History
Matlab - prostředí Workspace - prostor kam MATLAB ukládá proměnné, pro jejich další úpravu a editaci; Command Window - okno příkazového řádku; v něm je možné zadávat příkazy, není vhodný pro scripty; Command History - okno historie; v něm se ukládá posloupnost prováděných příkazů od spuštění MATLABu.
Základy práce s programem - CTRL + C - přerušení prováděného příkazu, přerušení scriptu - klávesy šipka nahoru a dolu použité v příkazovém řádku slouží k procházení historií - klávesa ESC vymaže celý řádek
nápověda help - nápověda help příkaz - vyhledá nápovědu k příkazu, výpis nápovědy do okna příkazového řádku helpwin - spustí okno helpu info - informace o Matlabu a Mathworks version - verze Matlabu
základy programování x=[1 3 5 8 ... - pokud se nám nevejde kód na jednu řádku, použijeme pro oddělení ‘...’ + ENTER a na další řádku zapíšeme zbytek kódu x=[1 3 5 8 ... 12 15 48] - středník ‘;’ použitý za příkazem potlačí výpis hodnot - na jednom řádku může být i více příkazů, musí však být odděleny buď čárkou ‘,’ nebo středníkem ‘;’, čárka oproti středníku nepotlačuje výpis hodnot, slouží jen k oddělení příkazů
základy programování ans - je proměnná do které se ukládá nejaktuálnější výsledek, tvoří se automaticky při výpočtu, který není směřován do proměnné - pokud proběhne výpočet a nevypíše se výsledek, zobrazí se buď inf (jako nekonečno) nebo NaN(nejde o číslo)
Základní příkazy clear all clc clf echo on/off - smaže všechny proměnné clc - vymaže command window clf - vymaže aktuální figuru echo on/off - umožňuje vypisovat při spuštění M-file, výsledky i komentáře jednotlivých řádků, ignoruje středník
základní příkazy close jméno close all dir path - uzavře námi požadovanou figuru-graf close all - uzavře všechna okna dir - vypíše obsah aktuálního adresáře path - vypíše všechny přístupné adresáře
základní příkazy what type jméno who whos - vypíše soubory Matlabu podle typu z aktuálního adresáře type jméno - vypíše obsah souboru typu M, bez otevření editoru who - vypíše veškeré použité proměnné whos - jako who, jen detailní
základní příkazy workspace edit edit jméno clear jméno - otevře workspace, obdoba whos, ale s tím, že je možná jejích editace edit - otevře Matlab editor/debugger edit jméno - otevře M-file v Matlab editor/debugger clear jméno - vymaže zadanou proměnnou
základní příkazy size(A) size(x) length(t) input disp - slouží ke zjištění velikosti matice length(t) - vrací délku řetězce nebo větší rozměr matice input - vstup z klávesnice x=input(’zadej x: ’) disp - výpis na obrazovku disp(‘ahoj’)
základní příkazy pause(n) pause pwd diary - pozastavení programu, n udává počet sekund čekání pause - pozastavení do stisku klávesy pwd - výpis aktuální adresářové cesty z Matlabu diary - ukládání obsahu příkazového okna do souboru
základní příkazy cedit home more lasterr - nastavení parametrů řízení editace příkazového řádku home - nastavení kurzoru vlevo nahoru more - řízení stránkového výstupu v příkazovém okně lasterr - vypsání poslední chyby
základní příkazy error menu clock date - zobrazení hlášení a ukončení funkce menu - vytvoření jednoduchého klikacího menu clock - datum a čas date - datum
základní příkazy save save filename save filename variables - uloží veškeré proměnné od použití clear all save filename - totožné jako save, jen je uloží do námi zvoleného souboru save filename variables - jako save + uloží jen námi zvolené proměnné save filename options - můžeme navíc volit v jakém tvaru se bude ukládat
základní příkazy save filename variables options - můžeme navíc volit v jakém tvaru se bude ukládat options: -ascii 8-číselný ascii formát -ascii -double 16-číselný ascii formát -ascii -tabs 8-číselný ascii formát, oddělené tab. -ascii -double -tabs -V4 ve formátu Matlab verze4.0 -append na konec souboru(pouze pro *.mat)
základní příkazy příklady save promenne.mat c d save promenne.mat e -append save promenne.txt c d e -ascii -tabs save promenne.txt c d e -ascii -tabs -double
základní příkazy load load filename load (‘C:\matlab65\work\filename’) - otevře matlab.mat v aktuálním adresáři load filename - otevře filename.mat v aktuálním adresáři load (‘C:\matlab65\work\filename’) - otevře filename.mat se zadanou cestou load filename -ascii - otevře soubor s čísly, uloží ho do proměnné se stejným názvem, nemusí být vytvořen v Matlabu
základní příkazy load filename -mat příklady - otevře soubor typu mat, tedy vytvořené v Matlabu příklady load promenne -mat load(‘C:\MATLAB6p5\work\promenne.mat’)
Proměnné global - proměnné musí začínat písmenem a mohou mít 31znaků - rozlišují se malá a velká písmena global - definování globálních proměnných
Zaokrouhlování čísel round(x) fix(x) floor(x) ceil(x) - zaokrouhlí x směrem k nejbližšímu celému číslu fix(x) - odřízne desetinnou část floor(x) - zaokrouhlí x směrem k nižšímu celému číslu ceil(x) - zaokrouhlí x směrem k vyššímu celému číslu
další sqrt - druhá odmocnina exp - exponenciální funkce nebo ^ - odmocnina, mocnina log - přirozený logaritmus log10 - dekadický logaritmus
Funkce pro práci se soubory fopen - otevření souboru fclose - zavření souboru fgetl - čtení řádku ze souboru, ruší znak konce řádky fgets - čtení řádku ze souboru, zachovává znak konce řádky fprintf - zápis formátovaných dat do souboru fscanf - čtení formátovaných dat ze souboru
funkce pro práci se soubory feof - test konce souboru fseek - nastavení pozice souboru ftell - nastavení pozice v souboru sprintf - zápis formátovaných dat do řetězce sscanf - čtení formátovaných dat z řetězce tempname- generování jedinečného jména souboru
funkce pro práci se soubory csvread - načtení souboru s čísly oddělenými čárkami do matice csvwrite - zapsání matice do souboru s čísly oddělenými čárkami dlmread - načtení souboru s čísly oddělenými ASCII znakem do matice dlmwrite - zapsání matice do souboru s čísly oddělenými ASCII znakem
M-file - tvorba scriptu - vytvoření file - new - m-file - psaní příkazů se stejnými pravidly jako v command window - komentáře jsou uvozené %
Ukázka programu spouštění scriptu tělo scriptu kometáře
doplnění tic toc - měření času průběhu programu, příkazy tic a toc - zapne časovač toc -vypne časovač a vypíše čas v sekundách
zatím konec, další příště