MATLAB, v , Release 13

Podobné dokumenty
Stručný návod k programu Octave

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í

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

MATrixLABoratory letný semester 2004/2005

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

MATLAB základy. Roman Stanec PEF MZLU

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

Pro tvorbu samostatně spustitelných aplikací je k dispozici Matlab library.

- transpozice (odlišuje se od překlopení pro komplexní čísla) - překlopení matice pole podle hlavní diagonály, např.: A.' ans =

Základy algoritmizace a programování

Doňar B., Zaplatílek K.: MATLAB - tvorba uživatelských aplikací, BEN - technická literatura, Praha, (ISBN:

X37SGS Signály a systémy

Seminář z MATLABU. Jiří Krejsa. A2/710 krejsa@fme.vutbr.cz

2. cvičení z ZI1 - Excel

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Wolfram Alpha. v podobě html stránky, samotný výsledek je často doplněn o další informace (např. graf, jiné možné zobrazení výsledku a

Předmluva 9 Obsah knihy 9 Typografické konvence 10 Informace o autorovi 10 Poděkování 10

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Středoškolská technika SCI-Lab

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

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

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

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Počítačové řešení elektrických obvodů

Základy algoritmizace a programování

Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Matematika v programovacích

Operace s vektory a maticemi + Funkce

Univerzitní licence MATLABu. Pište mail na: se žádostí o nejnovější licenci MATLABu.

4. Jednoduché výpočty

Úvod do programování. Lekce 1

Algoritmizace a programování

Algoritmizace a programování

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

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

Základy algoritmizace a programování

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Paměť počítače. alg2 1

SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU MODELOVÁNÍ MATLABEM

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

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 +

while cyklus s podmínkou na začátku cyklus bez udání počtu opakování while podmínka příkazy; příkazy; příkazy; end; % další pokračování programu

KALKULÁTORY EXP LOCAL SIN

Příklady k prvnímu testu - Matlab

MS EXCEL_vybrané matematické funkce

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

Základy algoritmizace a programování

Sada 1 - Základy programování

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

ALGORITMIZACE A PROGRAMOVÁNÍ

PPEL_4_cviceni_MATLAB.txt. % 4. cvičení z předmětu PPEL - MATLAB. % Lenka Šroubová, ZČU, FEL, KTE %

ZÁPOČTOVÁ PRÁCE z UIR

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Maturitní otázky z předmětu MATEMATIKA

Sada 1 - Základy programování

PPEL_3_cviceni_MATLAB.txt. % zadat 6 hodnot mezi cisly 2 a 8 % linspace (pocatek, konec, pocet bodu)

X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Cvi ení 1. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 2, Organizace cvi ení 2 Matlab Za ínáme Základní operace Základní funkce

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

tohoto systému. Můžeme propojit Mathcad s dalšími aplikacemi, jako je Excel, MATLAB, Axum, nebo dokumenty jedné aplikace navzájem.

Inovace bakalářského studijního oboru Aplikovaná chemie

PPEL Ing. Petr Kropík ICQ: tel.: (odd.

FUNKCE 2. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

10 Algoritmizace Příklad 2 Word 2007/ VBA

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

8. Posloupnosti, vektory a matice

František Hudek. květen ročník

Reliance 3 design OBSAH

GeoGebra známá i neznámá (pokročilí)

IBRIDGE 1.0 UŽIVATELSKÝ MANUÁL

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Gymnázium Jiřího Ortena, Kutná Hora

VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni. Abstrakt

MATURITNÍ TÉMATA Z MATEMATIKY

BALISTICKÝ MĚŘICÍ SYSTÉM

Programovací jazyk Pascal

Úvod do Matlabu. Vít Vondrák Katedra aplikované matematiky FEI, VŠB-TU Ostrava

Modelování polohových servomechanismů v prostředí Matlab / Simulink

Vstupní požadavky, doporučení a metodické pokyny

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty


ZŠ ÚnO, Bratří Čapků 1332

Práce s kalkulátorem

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

Cvičné texty ke státní maturitě z matematiky

Logické řízení výšky hladiny v nádržích

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

VISUAL BASIC. Práce se soubory

Základy zpracování kalkulačních tabulek

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

LabView jako programovací jazyk II

C2115 Praktický úvod do superpočítání

Návod k programu Graph, verze 4.3

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

NPRG030 Programování I, 2018/19 1 / :25:37

Transkript:

MATLAB, v. 6.5.0180913, Release 13 1. Úvod Jedná se o programový systém, jehož název znamená MATRIX LABORATORY. Používá se od roku 1984 v mnoha oborech k simulacím, měření, grafice. Používá se celosvětově na univerzitách k výuce matematiky a inženýrských oborů, ve vědeckých institucích, ale také v průmyslu při výzkumu, vývoji a analýze dat. Je to tzv. interpret. Umožňuje exportovat obrázky do textových editorů (v adresáři NOTEBOOK je podpora pro MS Word). Pomocí MATLAB C/C++ Compiler, Math Library a Graphics Library je možné automaticky překládat programy v jazyce MATLAB do jazyka C nebo C++. Dovoluje vytvářet samostatné aplikace pro všechny podporované platformy. MATLAB Web Server dovoluje začleňovat funkce MATLABU do HTML dokumentů. Kromě základního modulu má řadu specializovaných částí, které se nazývají toolboxy. Jsou to knihovny funkcí zaměřené na konkrétní technické a vědní obory. Vyžadují specifické znalosti z daného oboru. V předmětu Elektrické obvody 3 budeme používat kromě základní části ještě Signal Processing Toolbox a Simulink (pracuje s funkcemi a příkazy jako s grafickými bloky, používá se např. pro časové řešení soustavy nelineárních diferenciálních rovnic s grafickým zadáváním řešené soustavy, k simulaci dynamického chování). MATLAB je možné používat v operačních systémech MS Windows i Linux, SUN, HP, Power Macintosh. Minimální HW konfigurace - paměť 256MB (doporučeno 512 MB) RAM, 16-bit grafická karta, 500 MB diskového prostoru pro hlavní modul MATLAB. Následující řádky nejsou úplným manuálem ani dostačující učebnicí. Poskytnou pouze stručný úvod do práce s MATLABem. Matlab slouží k vědeckotechnickým výpočtům, modelování, simulaci, analýze a vizualizaci dat, měření a zpracování signálů, vývoji algoritmů, návrhu řídících a komunikačních systémů. MATLAB je vhodné používat pro robustní výpočty nebo pro jednorázové zpracování datových souborů, když je možné převést řešení na vektorové a maticové operace. K řešení se používají iterační algoritmy (založené na opakovaném používání vzorců, viz např. Numerické metody ve skriptech Čmela,R., Havlíček,V.,Zemánek,I.: Základy teorie obvodů 1. Cvičení.). MATLAB je nevhodné používat na pomalých počítačích s malou operační pamětí a tam, kde je potřebná především rychlost výpočtů. Tato verze je objektově orientována. Matematické operace jsou založeny na maticovém počtu v oboru reálných a komplexních čísel. Obsahuje běžné matematické funkce složitější matematické funkce (Besselovy funkce, transformace souřadnic,

2. Pracovní plocha Fourierova transformace, polynomy, numerické integrace a derivace, minimum funkce více proměnných, diferenciální rovnice 1. řádu atd). Command Window - pro zapisování příkazů a povelů, zobrazování systémových hlášení. Current Directory zobrazuje aktuální složku. Implicitně je nastavena cesta MATLAB6p1/Work. Cestu je možné nastavit také do složky, kam chcete uložit práci. Z položky View v hlavním menu lze spustit následující tři položky: Launch Pad - spouští nabídky, demonstrační programy demos, podporuje tvorby grafických prostředí. Je to interaktivní help. Command History zobrazuje všechny již použité příkazy, které lze opět aktivovat (poklepáním nebo přetažením myší). Workspace udává přehled všech použitých proměnných (na začátku práce je prázdné). Pomocí tlačítek na liště je možné vytvořit nebo otevřít již existující tzv. m-soubor, otevřít Simulink a pod. m-soubor je textový soubor s povinnou příponou *.m. Jedná se o zdrojový kód. Je možné ho vytvořit pomocí nabídky File, New, M-file z nabídky v hlavním menu (také přímo pomocí kláves Ctrl+N) nebo v libovolném textovém editoru (jako ASCII, např. NOTEPAD, WORKPAD, apod.). 3. Základní operace s čísly z příkazové řádky Píšeme vždy desetinnou tečku! Implicitní formát má 4 desetinná místa (výpočty jsou prováděny s double precision). Implicitní proměnná má název ans (je možné změnit). Každý příkaz nebo výraz je třeba potvrdit pomocí ENTER. Ukončení práce je pomocí quit nebo X v pravém horním rohu okna. Systém rozlišuje malá a velká písmena! Příkazy oddělené středníkem je možné zapisovat na jeden řádek. a) reálná čísla Základní elementární funkce: sin sinus sinh hyperbolický sinus asin inverzní funkce k sinu asinh inverzní hyperbolický sinus cos kosinus cosh hyperbolický kosinus acos inverzní funkce ke kosinu acosh inverzní hyperbolický kosinus tan tangens fix rem sign round zaokrouhlení směrem dolů zbytek po dělení znaménková funkce zaokrouhlení k nejbližšímu číslu

exp exponenciální funkce log přirozený logaritmus log10 dekadický logaritmus sqrt druhá odmocnina pow2 mocnina se základem 2 (např. 2 6 ) Základní operátory: +, -, *, /, ^ (plus, minus, násobeno, děleno, umocněno) Pomocí šipky lze vyvolat předchozí příkazy (opakovaným použitím), další možností je pomocí Command History. help stručné vysvětlení syntaxe případně chybové hlášení. Např. help sin Pro vypsání názvů elementárních funkcí slouží příkaz help elfun Pro přehled operátorů a speciálních znaků slouží příkaz help ops Pro vypsání možných formátů slouží příkaz help format. b) komplexní čísla Povolené zápisy: 4+i*3 4+3i 4+3*i 4+3j Základní operace s komplexními čísly (výběr): help elfun abs angle imag real absolutní hodnota výpočet fáze imaginární část komplexního čísla reálná část komplexního čísla 4. Použití proměnných Vyčistění plochy okna při zachování hodnot všech proměnných: clc Příklad zápisu: napeti2 = Umax*sin(omega*t + fi) Jména proměnných mohou obsahovat písmena i číslice, první znak musí být písmeno! Pro potlačení výpisu obsahu proměnných nebo výrazů v m-souboru slouží středník ; Všechny operace používané pro čísla je možné použít i pro proměnné. DOPORUČENÍ: Přiřaďte proměnným číselné hodnoty a výraz zapisujte pomocí proměnných. Tento postup je přehlednější a jednodušší. Příklad: 2*pi*1000/ (exp(0.2)*abs(2+3i)) a=2*pi*1000; b=exp(0.2);

c=abs(2+3i); XY=a/(b*c) Vymazání nepotřebných proměnných (šetří paměť) pomocí clear. Výpis použitých proměnných pomocí who, whos - v rozšířené formě Uložení pomocí save Po ukončení MATLABu jsou neuložená data ztracena. Uložit je můžeme několika způsoby. a) Uložení ve specifickém formátu *.mat. save filename1 vše, co obsahuje Workspace se uloží do souboru, který má jméno 'filename1' save filename2 A do souboru 'filename2' se uloží pouze A save filename3 A B C do souboru 'filename3' se uloží A,B, C save filename2 D -app do souboru 'filename2' se uloží ke stávající proměnné A další nová proměnná D Přípona mat je implicitní, není nutné ji psát. Takto uložená data je možné načítat pouze v prostředí MATLAB. Po načtení souboru jsou data přístupná opět v proměnných, které jsme ukládali. b) Uložení ve formátu ASCII save filename A -ascii save filename A -ascii -tabs save c:\prac\ filename A -ascii uložení proměnné A do souboru filename v prac. adresáři uložení proměnné A do souboru filename ve tvaru tabulky v prac. adresáři uložení proměnné A do souboru filename v jiném než pracovním adresáři Oproti způsobu a) jsou data po načtení přístupná v proměnné, která má jméno shodné se jménem souboru. Takto uložená data je možné zpracovávat ve všech editorech a programech. Tento způsob je vhodný pro vstupní a výstupní data, zejména u rozsáhlejších a složitějších aplikací. Pro potřeby předmětu EO3 je vhodnější způsob a). Více informací najdete pomocí help save. Načtení proměnných příkazem load. Načtení proměnných nebo souboru je nutné při novém spuštění MATLABu nebo při vymazání proměnných z pracovní plochy. Více viz příkaz help load. Relační operátory - viz help ops. == Equal je rovno ~= Not equal není rovno < Less than menší než > Greater than větší než <= Less than or equal menší nebo rovno >= Greater than or equal větší nebo rovno

Práce s řetězci Text je třeba umístit mezi znaky apostrofu 'text'. Operace s řetězci jsou obdobné jako u číselných proměnných, existují však i speciální operace. Nápověda Důležité!!! Při instalaci MATLABu, v. 6.5.0180913, Release 13 na počítačích s operačním systémem WIN98 nelze využít klávesu Help z nabídky. Dostupné je používání dříve uvedeného způsobu nápovědy pomocí help funkce. Znamená to, že je třeba znát jména hledaných fukcí (viz dále). Je však možný náhradní způsob. Na počítačích v laboratoři 802 lze úplné texty nápovědy získat na adresách C:\MATLAB6p5p1\help\techdoc\learn_matlab\learnina.html C:\MATLAB6p5p1\help\techdoc\learn_matlab\learninng.html 5. Práce s maticemi a řešení soustavy rovnic Systém MATLAB je orientován maticově. Vytvoření matic a vektorů matice se zapisují po řádcích, řádky jsou oddělené středníkem, prvky v řádku jsou oddělené mezerou (nejčastěji) nebo čárkou (méně často) vektory se zapisují jako matice s 1 řádkem nebo 1 sloupcem Počet řádků ani sloupců není omezen. Tento způsob je vhodný pro matice resp. vektory malých dimenzí (malý počet řádek a sloupců). Příklad: matice=[1 2 3; 4 5 6; 7 8 9] vector=[11 12 13 14] A=[2*log(10) exp(-0.1); sin(pi); 2+3i 0] Pro definování větších matic je vhodný zápis s dvojtečkami. Příklad: osa=1: pi/10 : 2*pi tento zápis znamená definici vektoru představujícího např. osu začínající v bodě 1 a končící v bodě o hodnotě 2π s krokem π /10 Zvláštní typy matic ones eye zeros matice tvořená samými jedničkami jednotková matice matice nul Základní operace s maticemi Stručný seznam operátorů získáte pomocí help ops.

C=A+B D=A-B E=A*B F=A.*B G=A/B, G=A*inv(B) H=A./B I=A\B, I=inv(A)*B J=A. \B součet matic (sčítání stejnolehlých rozdíl matic součin matic (klasické násobení) násobení stejnolehlých prvků matic dělení matic zprava podíl stejnolehlých prvků matic A a B dělení matic zleva podíl stejnolehlých prvků matic B a A Základní maticové funkce - pomocí help matfun Vybrané funkce: K=inv(A) L=A' det(a) inverzní matice k A transpoyice matice determinant čtvercové matice 6. Práce s mnohočleny Zobrazí se pomocí help poly. conv deconv poly residue roots násobení mnohočlenů dělení mnohočlenů mnohočleny pomocí kořenů výpočet residuí výpočet kořenů Příklady: poly=[2 1 3 10] pro polynom y= 2x 3 + x 2 +3x + 10 koreny1=roots(poly) výpočet kořeny z daného mnohočlenu koreny2=roots[2 1 3 10] dtto poly1=poly(koreny1) výpočet koeficientů mnohočlenu z kořenů 7. Grafika 2D, 3D figure plot plot3 mesh surf bar, bar3 area pie, pie3 stairs stem,stem3 vytvoření grafického okna vytvoření 2D grafu vytvoření spojitého 3D grafu vytvoření 3D plošného grafu - dtto- 2D, 3D sloupcový graf plošný graf 2D, 3D koláčový graf schodišťový graf 2D, 3D stopkový graf Vyzkoušejte: figure, Help, Demos nebo pomocí graf2d, graf2d2, hndlgraf, graf3d, hndlaxis

t = 0:.1:10; y = sin(t); plot(t,y) y = sin(t) + sin(3*t)/3; plot(t,y) y = sin(t) + sin(3*t)/3 + sin(5*t)/5 + sin(7*t)/7 + sin(9*t)/9; plot(t,y) t = 0:.02:3.14; y = zeros(10,length(t)); x = zeros(size(t)); for k=1:2:19 x = x + sin(k*t)/k; y((k+1)/2,:) = x; plot(y(1:2:9,:)') title('název') Porovnejte: a) figure(10) t=0:0.1:10; y=sin(t); plot(t,y) figure(20) t=0:0.1:10; y=cos(t); plot(t,y) b) figure(10) více křivek v jednom obrázku t=0:0.1:10; y=sin(t); plot(t,y); figure(20); t=0:0.1:10; y=cos(t); plot(t,y); hold on z=sin(t); plot(t,z) c) subplot(a,b,c) více obrázků v jednom grafickém okně a je počet obrázků vodorovně b je počet obrázků svisle c je určení pozice v matici a*b Více viz help plot, help plot3 8. Pro pokročilejší studenty Kromě interaktivního způsobu práce lze k zápisu příkazů a povelů používat tzv. m- soubory. Jsou to textové soubory s logickým sledem příkazů, jsou uložené např. na disku, mají povinnou příponu *.m. Spouští se přímo v prostředí MATLAB napsáním jména souboru bez přípony *.m. Používáme-li vestavěný editor (vyvolá se příkazem edit), systém příponu *.m připojí sám.

Používají se běžné programátorské povely. V případě syntaktických chyb jsou vypsána chybová hlášení s odkazem na příslušný řádek a s označením chyby. K rychlému nalezení příslušného řádku slouží Ctrl-G. Příklad použití for, if, if-else, switch, case, while, break. Příklad 1: % Definice matice 3x3 % zamena sloupcu matice A=[1 2 3; 4 5 6; 10 12 0.1]; % čtvercová matice [a,b]=size(a); % urceni poctu radku a sloupcu B=zeros(a,b); % prazdna matice stejnych rozmeru for k=1: a for m=1: b B(k,m)=A(k,b-m+1); % cyklus pro zamenu sloupcu A % vypis puvodni matice a B % vypis nove matice B Příklad 2: Příklad 3: if I = =J A(I, J) = 2; elseif abs(i-j) = = 1 A(I, J) = -1; else A(I, J) = 0; % prepinac SWITCH a CASE for k=1: 4 cislo = k; switch cislo case(1) disp('cislo ma hodnotu 1'); case(2) disp('cislo ma hodnotu 2'); otherwise disp('cislo ma hodnotu 3'); % prikaz WHILE Suma=0; while Suma < 3 Suma=Suma+1 % prikaz BREAK k zastaveni cyklu for k=1 : 10

k if k = = 2 break disp('preruseni algoritmu') Více informací naleznete v [5]. Doporučené publikace: [1] http://www.mathworks.com [2] http://www.humusoft.cz [3] Dušek,F.: MATLAB a SIMULINK úvod do používání. Skripta, Univerzita Pardubice, 2002, ISBN 80-7194-475-0. [4] Zaplatílek,K., Doňar,B.: MATLAB pro začátečníky. BEN-technická literatura, Praha 2003, 1.vydání, ISBN 80-7300-095-4. [5] Zaplatílek,K., Doňar,B.: MATLAB - tvorba uživatelských aplikací. BEN-technická literatura, Praha 2004, 1.vydání, ISBN 80-7300-133-0.